home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / video / fly8111-.000 / fly8111- / fly8 / docs / fly8.mm < prev    next >
Text File  |  1995-09-08  |  123KB  |  5,371 lines

  1. .\" This is part of the flight simulator 'Fly8'.
  2. .\" Author: Eyal Lebedinsky (eyal@ise.canberra.edu.au).
  3. .\"
  4. .\" Use: sed "/^$/d" <fly8.mm | groff -T<device> -rO1.25i -mgm >fly8.<device>
  5. .\"    then print it to an appropriate printer.
  6. .\"
  7. .\" Justify paragraphs and set style
  8. .SA 1
  9. .nr Pt 0
  10. .\" Set fonts (3 = bold, 2 = italic) and size (points) for each heading level
  11. .ds HF 3 3 2 2 2 2 2
  12. .ds HP 14 12 12 12 12 12 12
  13. .\" These are groff mm macro registers - ignored if not using groff
  14. .nr Hps1 2v
  15. .nr Hps2 3v
  16. .\" Set fonts (3 = bold, 2 = italic) and size (points) for each heading level
  17. .ds HF 3 3 2 2 2 2 2
  18. .ds HP 18 14 12 12 12 12 12
  19. .if \n[.g] \{\
  20. .    \" Set Proportional heading pre-space (only if the macro exists in tmac.gm)
  21. .    \"   Also sets Hps1 and Hps2 to 0
  22. .    if d HPPS .HPPS 0.75v 1.5v 0 0
  23. .    \" Set ToC title
  24. .    ds Licon "\s18Table of Contents\s0
  25. \}
  26. .\" Force "break follows heading" for all levels
  27. .nr Hb 8
  28. .\" Generate ToC to level 7
  29. .nr Cl 7
  30. .PH "''\fIPage %\fP''
  31. .PF "'\fIVersion 1.11\fP'\fIFLY8\fP'\fIFlight Simulator\fP'
  32.  
  33. .\" No header on page 1
  34. .nr N 2
  35.  
  36. .sp 10
  37.  
  38. .ce 100
  39. .ps 18
  40. .vs 20
  41. .sp
  42. FLY8
  43. .br
  44. Flight Simulator
  45. .ps 12
  46. .vs 14
  47. .I
  48. .sp
  49. Eyal Lebedinsky
  50. .ps 10
  51. .vs 12
  52. .R
  53. .sp
  54. eyal@ise.canberra.edu.au
  55. .ce 0
  56.  
  57. .SK 0
  58.  
  59. .ce 100
  60. .ps 18
  61. .vs 20
  62. .sp
  63. FLY8
  64. .br
  65. Flight Simulator
  66. .ps 12
  67. .vs 14
  68. .I
  69. .sp
  70. Eyal Lebedinsky
  71. .ps 10
  72. .vs 12
  73. .R
  74. .sp
  75. eyal@ise.canberra.edu.au
  76. .ce 0
  77. .sp 3
  78.  
  79. .H 1 "Introduction"
  80. .P
  81.  
  82. This program is a flight simulator. It puts more emphasis on the
  83. dynamics than on the cosmetics: just wire-frame. It can run on many
  84. machines as it was written for portability. The distribution includes
  85. support for msdos, mswin and unix (used to work on Amiga but I have no
  86. access to one anymore). Other ports were done but I did received any
  87. sources back yet.
  88.  
  89. On Intel based systems a 386DX is the minimum for any decent
  90. performance. A fast video controller is a boon as the program, when
  91. running on a 386DX/40Mhz, spends 70-80% of its time pushing pixels. On
  92. non-intel machines you can try and see if it is fast enough...
  93.  
  94. .P
  95.  
  96. As of this release the msdos version requires a 386 or better. If I get
  97. enough requests then I will compile it for 286 but it is too slow on
  98. such machines most of the time anyway.
  99.  
  100. .P
  101.  
  102. The program was written for fun. I borrowed ideas from everywhere and
  103. hope to hear some more. The design is based on a program I wrote more
  104. than 20 years ago at uni (the Technion). I had an excellent coach (Danny
  105. Cohen) and I still have fond memories of those times. But now my
  106. computer has more than 24Kbytes of memory! so Fly8 is written in C (Fly8
  107. was the name of the last version of the original program dated
  108. 12-JAN-1974, it was written in PDP15 assembly - macro15 - for a VT15
  109. graphics processor).
  110.  
  111. .P
  112.  
  113. The actual purpose of this program is to give me an opportunity to
  114. experiment with various aspects of flight simulation, but mostly with
  115. (1) the HUD symbology (or, more generaly, with man-machine interaction)
  116. and (2) the studying of basic aerodynamics (as well as general real time
  117. simulation techniques). This explains why there are so many HUD options
  118. and such a proliferation of flight dynamics models, as well as why the
  119. simulation parameters are user definable as input files at run time. Of
  120. course, the experimental nature of the program means that it must be
  121. distributed in source form.
  122.  
  123. .P
  124.  
  125. On the PC the basic screen drawing uses the standard Microsoft graphics
  126. library. It is OK but not very fast; the main advantage is that it will
  127. support most video adapters. The fast graphics driver was built from the
  128. routines from DJGPP with much personal additions. The flight dynamics
  129. was influenced by an SGI program I saw and ACM. The timer routines come
  130. from a microsoft journal article, the user-input routine (notice how you
  131. can use arrow keys etc? use up-arrow to retrieve history.. I will
  132. document it one day) comes from DDJ (or was it CUJ? author name is Bob
  133. Bybee). Well, I avoid re-inventing wheels unless it is fun. The program
  134. compiles with Microsoft C, Borland C, gcc on a friend's Amiga, Sun and
  135. Linux and I hope on other platforms; it is written to be portable. It
  136. runs under MSDOS, MSWindows, Amiga and unix.
  137.  
  138. .P
  139.  
  140. What? what? WHAT? you want to see some action? OK. just skip to the next
  141. chapter then come back.
  142.  
  143. .P
  144.  
  145. The full set of commands is detailed in the 'commands' chapter. Here we
  146. will look at the program areas in general.
  147.  
  148. .P
  149.  
  150. There are two rather distinct kinds of commands that one uses: commands
  151. that drive (fly) the game and commands that configure, set options and
  152. so on (which are used with less urgency). It was attempted to get the
  153. important commands into the keyboard (a one keystroke command) while the
  154. others go into the main menu system (accessed with the Esc key). Some of
  155. the urgent commands may bring up a menu which you may ignore if you know
  156. the keystokes.
  157.  
  158. .P
  159.  
  160. The urgent commands will control the vehicle flight and the other
  161. subsystems (radar, HUD, HDD, weapons etc.). You will notice early that
  162. the program lacks the traditional instrument panel: it is intended to be
  163. driven from the HUD and other digital displays.
  164.  
  165. .P
  166.  
  167. The vehicle is also driven by a pointing device (a mouse or, preferably,
  168. a joystick). It will run off the keypad when you have no such device.
  169. The pointer is used only for steering control although the buttons can
  170. be mapped to auxiliary functions.
  171.  
  172. .P
  173.  
  174. The display area is typicaly divided into the main view and a number of
  175. secondary Head Down Displays (HDD). The design has a dozen or so
  176. on-board instruments that generate visual data; you select which ones
  177. should be displayed on which HDD. The main view is what you see through
  178. the cockpit. The HUD can be overlaid onto this view (as is the case with
  179. a real plane). Other data may also be shown here for convenience.
  180.  
  181. .P
  182.  
  183. One instrument is designated as an alternate main view (use the 'v'
  184. command to see it). The 'windows' menu handles the screen format and
  185. configuration.
  186.  
  187. .P
  188.  
  189. The program generates various messages as it goes along, these will
  190. appear at the bottom of the main view and stack up. Each message has a
  191. time-out for deletion but you can use 'c' to clear the lot. When the
  192. program needs user input it will open a prompt line at the very bottom
  193. of the main view (in magenta color) where your data will show. You can
  194. use the normal editing keys while entering data here - previous entries
  195. are accessible with the up/down arrows. See 'input line editing' later.
  196.  
  197. .P
  198.  
  199. You may find some of the commands/options strange (if not outright
  200. insane); this will be related to my taste or (mostly) to much history
  201. and quick fixing that did not completely settle yet. I have looked at
  202. other programs (like F3, JF2, ACM and SGI f.s.) but this was after the
  203. first version of this program was finished, so some good ideas missed
  204. the bus this time. In the future I hope to polish the user interface
  205. (especialy after other people get to use it and express an opinion).
  206.  
  207. .P
  208.  
  209. Being as the program is still evolving you will find some areas less
  210. complete than others. I hope that there is enough of it to make it
  211. useful. I expect to see contributions (of ideas and code) from other
  212. people; I will continue to develop the program (at least for a while)
  213. and would like to see it take it's own path in life [heavy stuff :-)].
  214.  
  215. .H 1 "Installation"
  216. .P
  217.  
  218. On most environments all you need to do is unpack the distribution
  219. archive into your prefered directory and you are set. Make sure you
  220. un-archive the parts such that the directory structure is maintained.
  221. Refer to the README file for specific instructions, you will probably
  222. want to enable support for your graphics card (on MSDOS).
  223.  
  224. .P
  225.  
  226. Another thing you will want to do is select your prefered pointing
  227. device (the joystick is best). Examine the examples in fly.ini and read
  228. the later chapter about the options.
  229.  
  230. .H 1 "Quick start"
  231. .P
  232.  
  233. In this chapter the symbol '@' is used to denote the Enter key. It will
  234. give you a feel for what the program is like. With the program
  235. installed, type
  236.  
  237. .P
  238. .ti 5
  239.  
  240. \fCfly8 z5\fP
  241.  
  242. .P
  243.  
  244. This starts the program in a demo setting and is useful to see if all is
  245. OK. It is also great as a screen blanker :-)
  246.  
  247. .P
  248.  
  249. If the fly.ini options are correct then your plane will take off and
  250. start looking for action. Some messages are displayed during startup -
  251. these will disappear after a short while. The screen will show a simple
  252. view of the runway, a ground grid (in gray) and an overlaid HUD.
  253.  
  254. .P
  255.  
  256. If there is no picture, try hitting 'Enter'. Then try 'Esc' 'x' 'y'. If
  257. no luck then kill it (or reboot on msdos, I guess). Now check the
  258. fly.log file which may have an error message in it.
  259.  
  260. .P
  261.  
  262. On msdos it was found that with some accelerator cards the program hangs
  263. (don't know why, I use the MicroSoft C graphics library and most
  264. advanced cards should emulate VGA). Try installing the correct video
  265. VESA bios.
  266.  
  267. .P
  268.  
  269. Do not run this program in a dos window of MSWindows or OS/2, use the
  270. MSWindows version for MSWindows (although it probably will work fine,
  271. there is a chance of locking your machine up by not doing so). In a full
  272. window OS/2 session it was reported to work OK.
  273.  
  274. .P
  275.  
  276. The scene will include you and 5 other planes (drones). Your auto-pilot
  277. will track and shoot the drones. As they are shot down, new ones take
  278. off. To take control back from the autopilot hit Shift-C. Now use the
  279. joystick (or whatever input device you choose) to fly the plane. One
  280. mouse or joystick button shoots (same as F1). When the target is in
  281. the correct position the autopilot will shoot (unless you tell it not to
  282. with 'k'). The idea is to fly your plane so that the target is inside
  283. the aiming reticle (the small circle) and then shoot. A SHOOT cue will
  284. flash when your aim is correct.
  285.  
  286. .P
  287.  
  288. You may want to know the current settings (like throttle, flaps etc.)
  289. Turn on the 'panel' display (Esc hud/options-2/panel). The 'Esc' key
  290. activates the menu system. Most selections can be used as a short
  291. sequence of the associated letters; the last sequence can be entered as
  292. Esc-u-2-p-Esc. The hud menu is also directly available as the 'u'
  293. command.
  294.  
  295. .P
  296.  
  297. This is how you fly the plane: moving the joystick sideways will start
  298. the plane rolling. The further you move the stick the faster the roll.
  299. Once you center the stick the roll will stop. In order to fly level you
  300. need to roll the other way until you are level and then center the
  301. stick.
  302.  
  303. .P
  304.  
  305. Moving the stick away from you will push the nose of the plane DOWN, pulling
  306. the stick back will pull the nose up. When the stick is centered the plane
  307. will maintain it's climb angle (pitch).
  308.  
  309. .P
  310.  
  311. So far we rolled and pitched but we did not yet turn. In order to turn
  312. one needs to use both controls. To turn right, first roll to the right,
  313. then pull the plane 'up'; at this point 'up' is actualy 'right'.
  314. Remember that the joystick controls the plane relative to itself (the
  315. pilot if you wish) and NOT relative to the ground. Once you turn in the
  316. desired dirction you can roll left to resume level flight in the new
  317. heading.
  318.  
  319. .P
  320.  
  321. Because the plane has weight, if you roll and start turning the plane will
  322. also start falling down (the wings no longer support the full weight of the
  323. plane) so a realistic turn will call for a moderate roll and not a full
  324. 90 degrees. The harder you will pull the stick, the faster you will turn
  325. and the larger roll you should execute to maintain level during the turn.
  326.  
  327. .P
  328.  
  329. You probably do not want more instructions at this 'quick start' section,
  330. not to mention that I never flown a plane and am not qualified for much
  331. in the way of flight instruction. Any volunteers for writing a flight
  332. manual chapter?
  333.  
  334. .P
  335.  
  336. Knowing how to fly the plane is not enough, you also need to know how to
  337. participate in the game (fight). Actualy, in order to start winning you
  338. will need to be able to fly without thinking, you will need your logic
  339. powers to control your situation and plan your moves.
  340.  
  341. .P
  342.  
  343. Your strategy is to avoid being hit and try and kill all enemy planes. There
  344. it is, as simple as can be. I wonder why people fill books with chat about
  345. Basic Flight and Air Combat Maneuvering :-)
  346.  
  347. .P
  348.  
  349. Now a quick look at controlling other equipment. For takeoff, release
  350. the wheel brakes ('b') and set full throttle ('1') or even light the
  351. afterburner (a few hits on the '.' key). You may want to set the flaps
  352. (a few ']', then reset with '[') but it is not necessary. At a speed of
  353. 150-200 pull the nose up gently (not more than 10-15 degrees) and wait
  354. for takeoff. After you gain some high (but rather soon) retract the
  355. landing gear ('g'). There you are in the air. Do not try a sharp turn
  356. too soon as you may loose altitude and hit the ground, unless you are
  357. experienced with this sort of thing.
  358.  
  359. .P
  360.  
  361. To land, reduce speed and approach the runway at a steady descent. Just
  362. before touchdown reduce the descent to the bare minimum (don't forget to
  363. lower the landing gear ('g') in time but not too early). Once on the
  364. ground engage the speed-brakes ('+') and reverse thrust (just hit 3
  365. until you have -100 power showing; this is not always available). When
  366. your speed is low enough engage the wheel brakes ('b') and towards the
  367. end idle your engines ('0') and release the speed brakes ('+'). Once you
  368. are stationary on the ground with the engine idle your fuel will start
  369. to be replaced and finally your wepons will be replaced and your damage
  370. will be reset.
  371.  
  372. .P
  373.  
  374. When flying, use 'r' to switch the radar on and off, use 'w' to select your
  375. weapon and use 'v' to switch to a map view of the world (with you at the
  376. center) and back to normal view.
  377.  
  378. .P
  379.  
  380. This should do you for starters.
  381.  
  382. .P
  383.  
  384. While we are here, do 'Esc' 'i' 'Enter'. Some numbers will show at the
  385. top of the screen. The first is the total time (in milliseconds) for one
  386. frame, the second is the video-drawing time. If the total time goes over
  387. 100 often then you should buy a faster machine (actually, if it is the
  388. second numbers that dominates, a faster video card may be a better
  389. investment). If it stays under 60-70 then all is fine.
  390.  
  391. .P
  392.  
  393. On MSDOS, if you have a TsengLab ET4000 based card then try running
  394.  
  395. .P
  396. .ti 5
  397.  
  398. \fCfly8 dvgrfast:et4k Vgret4k m800x600x256 z5\fP
  399.  
  400. .P
  401.  
  402. and if it works you will notice the speedup. Other cards are supported, check
  403. the readme for details. The standard Microsoft library does not do double
  404. buffering above 640x350x16 (even in C8); don't know why - the memory is
  405. there. You may wish to edit the file 'fly.ini' with your preferred setup
  406. so that you will not need to specify it in the future.
  407.  
  408. .P
  409.  
  410. As of this release you can use a VESA mode, as in
  411.  
  412. .P
  413. .ti 5
  414.  
  415. \fCfly8 dvgrfast:vesa Vgrvesa1p m800x600x256 z5\fP
  416.  
  417. .P
  418.  
  419. it will perform well if it works. If you can load your VESA BIOS into ram
  420. then do so, it often is much faster. If you do not have a VESA BIOS supplied
  421. with your card then look around for one. There is at least one package (the
  422. universal vesa driver UNIVBE) which should work on most cards.
  423.  
  424. .br
  425. .sp
  426. To exit hit 'Esc' 'x' and 'y'.
  427.  
  428. .H 1 "Commands Reference"
  429. .P
  430.  
  431. Fly8 commands are one keystroke each but some expect some data or
  432. options to follow, which may bring up a prompt or a menu.
  433.  
  434. .P
  435.  
  436. Some commands are used only when the 'keypad' is selected as the
  437. pointing device for flying. Otherwise the commands are grouped here by
  438. their physical location and organized alphabetically.
  439.  
  440. .P
  441.  
  442. The program usually runs with the NumLock engaged which means that the
  443. keypad keys duplicate the digits 0 through 9 and the period '.'.
  444.  
  445. .P
  446.  
  447. There is no current facility to redefine the usage of the keys but the
  448. keyboard macros can be of use here. See under F7/F8.
  449.  
  450. .H 2 "Alphabetic Keys"
  451. .P
  452.  
  453. Most commands toggle their function on/off, some cycle through modes.
  454.  
  455. .VL 10 5
  456. .LI A
  457.  
  458. select aiming reticle mode. (cycles)  [obsolete] This is used for
  459. experimenting with various LCOS formulae and will be gone once it
  460. settles down. At this point the calculations are based on linear
  461. motions, it should be modified to follow an arc instead. The setting is
  462. shown as 'Mn' in the 'modes' screen in the 'radar' part.
  463.  
  464. .VL 5
  465. .LI 0
  466. no acceleration correction
  467. .LI 1
  468. 0.5 second correction
  469. .LI 2
  470. 1.0 second correction
  471. .LI 3
  472. t/2 seconds correction (t=time to impact) (default)
  473. .LI 4
  474. t*t/2 seconds correction
  475. .LE
  476.  
  477. .LI b
  478.  
  479. Wheel brakes (toggle). Can be applied at any time but only effective when
  480. on the ground. In reality these should not be operated at high speed
  481. (use speed brakes and reverse thrust for initial slow down).
  482.  
  483. .LI c
  484.  
  485. Clear text area. By now there is no text area anymore so this is used
  486. for the auxiliary function of removing all outstanding messages. If the
  487. windows boundary got dirty then use the Screen.Clear menu option to
  488. completely redraw the screen.
  489.  
  490. .LI C
  491.  
  492. Chase the locked target (toggle) This is the auto-pilot mode. If there
  493. is no target (or the radar is turned off) then the plane will wander
  494. around the airport perimeter. If there are ground targets then these
  495. will be chased and the plane will crash! This mode is activated by the
  496. command line option 'z'. If the kill-mode is enabled ('k') then the
  497. auto-pilot will fire at the target.
  498.  
  499. .LI D
  500.  
  501. Descend the parachute. After you eject it may take a while to get to the
  502. ground. You can pass the time by looking around (use the arrow and F5/F6
  503. zoom keys), or you can jump to the landing phase with this command. If
  504. you land before your plane crashes then you will have to wait (a WAIT
  505. notice will be shown).
  506.  
  507. .LI d
  508.  
  509. Declutter the HUD. This will remove some HUD items that get in the way
  510. when you are in a dogfight. You can use the Hud.Parts menu to
  511. selectively remove HUD items.
  512.  
  513. .LI E
  514.  
  515. Eject. If your plane is not dead, your ejecting will send it crashing.
  516. You are then on a parachute descending slowly. Use 'D' for a quick
  517. descent.
  518.  
  519. .LI f
  520.  
  521. Select radar target-acquisition mode (cycle). Controls the manner by
  522. which the radar selects a target as explained later in the relevant
  523. section.
  524.  
  525. .LI g
  526.  
  527. Landing gear up/down (toggle). You can't raise the gear while on the
  528. ground.
  529.  
  530. .LI h
  531.  
  532. Help (also '?')
  533.  
  534. .LI i
  535.  
  536. Intelligence: identify all visible targets (toggle) This is what makes
  537. this program better than the real thing... in this mode all visible
  538. targets are identified even when outside of the HUD area. You need to
  539. have HUD data mode enabled to get info about the targets. The aiming
  540. reticule will not show when in this mode.
  541.  
  542. .LI j
  543.  
  544. Radar sees only real pilots (ignores drones) (toggle). The program can
  545. generate drones for target practice. If you want the radar to ignore
  546. these and only show (and select) real planes then use this command.
  547. There are other pilots only when you are networked.
  548.  
  549. .LI k
  550.  
  551. Kill- auto shoot when ready (toggle). When a target is in range and in
  552. correct position the auto-pilot will flash a SHOOT cue. In this mode the
  553. selected weapon will be fired at this point. The  radar must be active
  554. with a locked target (you should see a piper).
  555.  
  556. .LI l
  557.  
  558. Lock target (toggle) The radar can operate in two modes, either it
  559. continuously selects a target according to the designated target
  560. acquisition mode or it stays locked on the current one. In the locked
  561. mode, the first selected target will be locked on and no more searching
  562. will be done. When not locked the target designator will be shown as a
  563. broken box. You can use the un-lock command (usually attached to one of
  564. the buttons and to the space-bar) to release the current target
  565. and acquire a new one.
  566.  
  567. .LI m
  568.  
  569. Show general program status. (toggle) This replaces the numerous mode
  570. indicators that planes have.
  571.  
  572. .LI M
  573.  
  574. Set the virtual buttons shift mode. This command is expected to be
  575. entered from a macro so NO prompting is done to the user, you will be
  576. now typing blind. You will enter a list of characters which will change
  577. the buttons mode. The first unrecognized character will terminate this
  578. command (it is good practice to use the Esc key for that).
  579.  
  580. .VL 5
  581.  
  582. .LI 0
  583.  
  584. The following commands will enable the designated mode.
  585.  
  586. .LI 1
  587.  
  588. The following commands will disable the designated mode.
  589.  
  590. .LI 2
  591.  
  592. The following commands will toggle the designated mode. This is the
  593. default at the start of this command.
  594.  
  595. .LI a
  596.  
  597. Set the Btn-Alt mode.
  598.  
  599. .LI c
  600.  
  601. Set the Btn-Ctrl mode.
  602.  
  603. .LI p
  604.  
  605. Set the Btn-Special mode.
  606.  
  607. .LI s
  608.  
  609. Set the Btn-Shift mode.
  610.  
  611. .LI x
  612.  
  613. Disable all modes and enter 'enable' mode (same as '1' above).
  614.  
  615. .LI *
  616.  
  617. Quit without changing the modes.
  618.  
  619. .LE
  620.  
  621. .LI o
  622.  
  623. Observer select. See the world from another object's point of view. Also
  624. useful for just a list of the objects. The list of current objects is
  625. presented. Hit Enter to abort or select an object. The selection 'c'
  626. will return you to your controlled plane. 'l' will select your target as
  627. the view object (if there is a target). In the list, piloted planes have
  628. a 'c' and your target has an 'l'. Note that you cannot use this command
  629. if networking is active. Also as objects come and go, by the time you
  630. select an object (by a sequence number in the list) it may have moved up
  631. the list - you end up with the wrong object. The command is not
  632. considered important enough to make it any more robust.
  633.  
  634. .LI O
  635.  
  636. As 'o' but also shows minor objects.
  637.  
  638. .LI p
  639.  
  640. Pause. Will not work when net is active (toggle). The "Pause"
  641. message tells you that you are. Use 'p' again to resume (which should
  642. clear the "Paused" message).
  643.  
  644. .LI P
  645.  
  646. Report a button press. The next character must be a button name.
  647.  
  648. .LI q
  649.  
  650. Quiet (sound) mode. (cycle) Sets the sounds level to one of the
  651. following. Note that the independent 'aural alarm' option can be used to
  652. turn the nagging alarms on/off.
  653.  
  654. .VL 5
  655.  
  656. .LI 0
  657.  
  658. no sound.
  659.  
  660. .LI 1
  661.  
  662. only shoot/hit/alarms sounds (default).
  663.  
  664. .LI 2
  665.  
  666. all sounds and effects. For now the only effect is the engine noise.
  667.  
  668. .LE
  669.  
  670. .LI r
  671.  
  672. Activate radar (toggle)
  673.  
  674. .LI R
  675.  
  676. Report a button release. The next character must be a button name.
  677.  
  678. .LI s
  679.  
  680. Will show some stats. Following that list  is given a summary of objects
  681. currently active (does not include the landscape objects).
  682.  
  683. .LI S
  684.  
  685. Resupply plane: full stores and fuel, reset damage. This is a cheat!
  686.  
  687. .LI u
  688.  
  689. Hud configuration. see 'hud commands' later. Identical to the main menu
  690. \'hud' function.
  691.  
  692. .LI v
  693.  
  694. Select normal/alternate view (toggle). Will bring the designated
  695. alternate instrument into the main view. The alternate view is defined
  696. through the window configuration menu. Note the view name at the top right
  697. corner of the screen.
  698.  
  699. .LI w
  700.  
  701. Select weapon (cycle).
  702.  
  703. .LI W
  704.  
  705. Remove all weapon stores. The plane manoeuvres better this way. You can
  706. still use the weapons, the counters will just go negative.
  707.  
  708. .LI x
  709. .br
  710.  
  711. Calibrate pointer. Mainly for joystick. When Fly8 starts it sets the
  712. joystick to an 'uncalibrated' mode. You now need to play the stick to
  713. all of it's positions, which means move the x and y to the edges, move
  714. the throttle to both ends and move the FCS hat to all positions. Finally
  715. leave the stick centered, the throttle at the position which you want to
  716. be the point where AB starts and leave the hat centered. Now hit 'x' and
  717. the program will re-calibrate itself.
  718.  
  719. .P
  720.  
  721. After playing for a while you can again hit 'x' but you will have to
  722. take your hards off the stick and reposition the throttle before doing
  723. so (and you MUST have played for a while so that the full extent of the
  724. controls was used).
  725.  
  726. .H 2 "Symbol Keys"
  727. .P
  728.  
  729. These are the rest of the keys on the main keyboard. For clarity each
  730. key's name is spelled out. If it is allocated then the function follows.
  731.  
  732. .VL 25 5
  733.  
  734. .LI "\\\\  [back del]"
  735.  
  736. .LI "\\\\  [escape]"
  737.  
  738. invoke the menu system
  739.  
  740. .LI "\\\\  [space]"
  741.  
  742. release radar lock
  743.  
  744. .LI "` [grave accent]"
  745.  
  746. .LI "- [hyphen]"
  747.  
  748. see keypad '-'
  749.  
  750. .LI "= [equals sign]"
  751.  
  752. .LI "\\\\\\\\ [back slash]"
  753.  
  754. used to reset the trim to nill.
  755.  
  756. .LI "[ [l-bracket]"
  757.  
  758. less flaps
  759.  
  760. .LI "] [r-bracket]"
  761.  
  762. more flaps
  763.  
  764. .LI "; [semicolon]"
  765.  
  766. .LI "' [quote]"
  767.  
  768. .LI ", [comma]"
  769.  
  770. .LI ". [period]"
  771.  
  772. see keypad '.'
  773.  
  774. .LI "/ [slash]"
  775.  
  776. see keypad '/'
  777.  
  778. .LI "~ [tilde]"
  779.  
  780. .LI "! [bang]"
  781.  
  782. shell to system. May not restore some environment parameters and pallette.
  783. Use 'exit' to resume. Not implemented on windowed enviroments - just
  784. open another window if you need so...
  785.  
  786. .LI "@ [at symbol]"
  787.  
  788. .LI "# [hash]"
  789.  
  790. .LI "$ [dollar]"
  791.  
  792. .LI "% [percent]"
  793.  
  794. .LI "^ [caret]"
  795.  
  796. .LI "& [ampersand]"
  797.  
  798. .LI "* [asterisk]"
  799.  
  800. see keypad '*'
  801.  
  802. .LI "( [l-paren]"
  803.  
  804. less wheel brakes.
  805.  
  806. .LI ") [r-paren]"
  807.  
  808. more wheel brakes.
  809.  
  810. .LI "_ [underdash]"
  811.  
  812. .LI "+ [plus]"
  813.  
  814. see keypad '+'
  815.  
  816. .LI "| [pipe]"
  817.  
  818. .LI "{ [l-brace]"
  819.  
  820. less spoilers
  821.  
  822. .LI "} [r-brace]"
  823.  
  824. more spoilers
  825.  
  826. .LI ": [colon]"
  827.  
  828. .LI "\N'34' [double quote]"
  829.  
  830. .LI "< [less than]"
  831.  
  832. less speed brakes.
  833.  
  834. .LI "> [greater than]"
  835.  
  836. more speed brakes.
  837.  
  838. .LI "? [question mark]"
  839.  
  840. help
  841.  
  842. .LE
  843.  
  844. .H 2 "Keypad"
  845. .P
  846.  
  847. The keypad is a collection of keys that replicate the main keyboard.
  848. These are described as three groups by function.
  849.  
  850. .P
  851.  
  852. The following keys surround the numerical keypad and are not affected by
  853. the Shift key.
  854.  
  855. .VL 20 5
  856.  
  857. .LI -
  858.  
  859. view right (+45 degrees)
  860.  
  861. .LI *
  862.  
  863. view ahead
  864.  
  865. .LI /
  866.  
  867. view left (-45 degrees)
  868.  
  869. .LI +
  870.  
  871. speed brakes (toggle). Note that the Speed brakes take time to deploy,
  872. it's status is shown on the control panel in percent of full extension.
  873.  
  874. .LI (Enter)
  875.  
  876. unallocated
  877.  
  878. .LE
  879.  
  880. .P
  881.  
  882. The rest of these keys must have NumLock on.
  883.  
  884. .P
  885.  
  886. These first four keys respond only if the keypad is your pointing device.
  887.  
  888. .VL 20 5
  889.  
  890. .LI "8 (up)"
  891.  
  892. pitch (pull nose) up
  893.  
  894. .LI "2 (down)"
  895.  
  896. pitch (push nose) down
  897.  
  898. .LI "6 (right)"
  899.  
  900. roll right
  901.  
  902. .LI "4 (left)"
  903.  
  904. roll left
  905.  
  906. .LE
  907.  
  908. .P
  909.  
  910. The following commands extend all pointing devices capabilities:
  911.  
  912. .VL 20 5
  913.  
  914. .LI "5 (center)"
  915.  
  916. center ailerons and elevetors, like centering the joystick. Useful when using
  917. a mouse (or trackball): will move the reference point to where the mouse is
  918. at this moment.
  919.  
  920. .LI "7 (Home)"
  921.  
  922. stop rolling. Levels the plane. For quiche eaters.
  923.  
  924. .LI "9 (PdUp)"
  925.  
  926. more (+5%) power
  927.  
  928. .LI "3 (PdDn)"
  929.  
  930. less (-5%) power
  931.  
  932. .LI "1 (End)"
  933.  
  934. mil (dry) (100%) power
  935.  
  936. .LI "0 (Ins)"
  937.  
  938. zero (0%) power
  939.  
  940. .LI ". (Del)"
  941.  
  942. after burner up (+1 unit which is 20% of full scale)
  943.  
  944. .LE
  945.  
  946. .H 2 "Special keys"
  947. .P
  948.  
  949. These keys are a group of six on most keyboard but can also be
  950. duplicated using the Shift key and a numerical keypad key.
  951.  
  952. .VL 20 5
  953.  
  954. .LI PageUp
  955.  
  956. level (heading 0, pitch 0, roll 0)
  957.  
  958. .LI PageDn
  959.  
  960. reset coordinates to zero (back to base)
  961.  
  962. .LI Home
  963.  
  964. unallocated
  965.  
  966. .LI End
  967.  
  968. unallocated
  969.  
  970. .LI Insert
  971.  
  972. unallocated
  973.  
  974. .LI Delete
  975.  
  976. unallocated
  977.  
  978. .LE
  979.  
  980. .H 2 "Function keys"
  981. .P
  982.  
  983. The function keys are normally used in plain mode (no Shift, Alt or
  984. Ctrl). When the menu is on the up-front, the left column ten selections
  985. are accessible with F1-F10 while the right column uses AltF1-AltF10.
  986.  
  987. .VL 10 5
  988.  
  989. .LI F1
  990.  
  991. shoot. Usually also mapped the mouse left button and the joystick
  992. trigger button.
  993.  
  994. .LI F2
  995.  
  996. rudder left
  997.  
  998. .LI F3
  999.  
  1000. rudder center
  1001.  
  1002. .LI F4
  1003.  
  1004. rudder right
  1005.  
  1006. .LI F5
  1007.  
  1008. zoom in (more detail, narrower view, eye further from window).
  1009.  
  1010. .LI F6
  1011.  
  1012. zoom out (less detail, wider view, eye closer to window).
  1013.  
  1014. .LI F7
  1015.  
  1016. Macro/HotKey definition.
  1017.  
  1018. Any key can be used for a macro name (except F7/F8). If you define a
  1019. macro for a HotKey (Ctrl- and Alt- 'a' thru 'z') then it can be played
  1020. back with one keystroke. Other keys are played using the F8 key.
  1021.  
  1022. If you use a Macro during recording then the Macro will be recorded. If
  1023. you later re-define this Macro then it will affect any other Macros that
  1024. uses it.
  1025.  
  1026. During macro expansion there is a limit of 16 levels of nesting.
  1027.  
  1028. There is no capability for Macros definition editing.
  1029.  
  1030. .VL 20
  1031.  
  1032. .LI "define"
  1033.  
  1034. F7<macro-key><keystrokes>F7
  1035.  
  1036. .br
  1037.  
  1038. If the key is already defined then you are warned of the re-definition.
  1039. You may abort at any stage (F8F8) and the original definition will
  1040. remain.
  1041.  
  1042. If you hit F8 during recording then you are prompted by
  1043. Abort/Cont/Quote? to which you may respond by F8 (abort the recording),
  1044. F7 (ignore the F8 and continue recording) or any other key (the key will
  1045. be recorded with the F8 expecting it to be another macro).
  1046.  
  1047. .LI "delete"
  1048.  
  1049. F7<macro-key>F7
  1050.  
  1051. .br
  1052.  
  1053. It is not possible to record a null macro.
  1054.  
  1055. .LE
  1056.  
  1057. .LI F8 "Macro play"
  1058.  
  1059. F8<macro-key>
  1060.  
  1061. .VL 20
  1062.  
  1063. .LI "HotKey play"
  1064.  
  1065. <HotKey>
  1066.  
  1067. .br
  1068.  
  1069. Hot keys are Ctrl-a through Ctrl-z and Alt-a through Alt-z.
  1070.  
  1071. .LE
  1072.  
  1073. .LI F9
  1074.  
  1075. zoom in (more detail, narrower view, eye further from window) in the
  1076. external view window (default is the radar map).
  1077.  
  1078. .LI F10
  1079.  
  1080. zoom out (less detail, wider view, eye closer to window) in the external
  1081. view window (default is the radar map).
  1082.  
  1083. .LI F11
  1084.  
  1085. unallocated
  1086.  
  1087. .LI F12
  1088.  
  1089. unallocated
  1090. .LE
  1091.  
  1092. .H 2 "Alt keys"
  1093. .P
  1094.  
  1095. Alt-Arrows: see below.
  1096.  
  1097. .P
  1098.  
  1099. Alt-a thru Alt-z are reserved for user defined HotKeys.
  1100.  
  1101. .P
  1102.  
  1103. The other keys are unallocated.
  1104.  
  1105. .H 2 "Ctrl keys"
  1106. .P
  1107.  
  1108. Ctrl-Arrows: see below.
  1109.  
  1110. .P
  1111.  
  1112. Ctrl-a thru Ctrl-z are reserved for user defined HotKeys.
  1113.  
  1114. .P
  1115.  
  1116. The other keys are unallocated.
  1117.  
  1118. .H 2 "Arrow keys"
  1119.  
  1120. .VL 20 5
  1121.  
  1122. .LI up
  1123.  
  1124. turn gaze (head) down
  1125.  
  1126. .br
  1127. All turns by 5 degrees
  1128.  
  1129. .LI down
  1130.  
  1131. turn gaze (head) up
  1132.  
  1133. .LI left
  1134.  
  1135. turn gaze (head) left
  1136.  
  1137. .LI right
  1138.  
  1139. turn gaze (head) right
  1140.  
  1141. .br
  1142.  
  1143. use '*' to restore normal front view.
  1144.  
  1145. .LI CTLup
  1146.  
  1147. trim nose down.
  1148.  
  1149. .LI CTLdown
  1150.  
  1151. trim nose up.
  1152.  
  1153. .LI CTLright
  1154.  
  1155. trim rudder right.
  1156.  
  1157. .LI CTLleft
  1158.  
  1159. trim rudder left.
  1160.  
  1161. .LI ALTup
  1162.  
  1163. debug (varies).
  1164.  
  1165. .LI ALTdown
  1166.  
  1167. debug (varies).
  1168.  
  1169. .LI ALTright
  1170.  
  1171. debug (varies).
  1172.  
  1173. .LI ALTleft
  1174.  
  1175. debug (varies).
  1176.  
  1177. .LE
  1178.  
  1179. .H 1 "Menus"
  1180. .P
  1181.  
  1182. A menu has a list of options, each associated with a key and a function.
  1183. To select a function use the Up/Dn arrows to highlight it and then
  1184. Enter, or directly press the corresponding key. When on the up-front,
  1185. the associated letters are NOT shown but are recognized; use the
  1186. CtrlF-keys to select left column functions and AltF-keys for the right
  1187. column. See under HDD later.
  1188.  
  1189. .P
  1190.  
  1191. Menus can be nested, in which case the previous selections are listed
  1192. first (in a staggered fasion and highlighted) followed by the current
  1193. menu. The selected option is highlighted (white) while the others are
  1194. displayed in gray.
  1195.  
  1196. .P
  1197.  
  1198. The Esc key brings up the top menu but later is used to abort a menu.
  1199. During menu navigation use these keys:
  1200.  
  1201. .VL 10 5
  1202.  
  1203. .LI Esc
  1204. .br
  1205.  
  1206. aborts the menu
  1207. .br
  1208.  
  1209. .LI Enter
  1210. .br
  1211.  
  1212. accept the current selection option
  1213.  
  1214. .LI UpArrow
  1215. .br
  1216.  
  1217. select previous option
  1218.  
  1219. .LI DnArrow
  1220. .br
  1221.  
  1222. select next option
  1223.  
  1224. .LI other
  1225. .br
  1226.  
  1227. select the corresponding option
  1228.  
  1229. .LE
  1230.  
  1231. .P
  1232.  
  1233. If a command is invalid (top/bottom of list or undefined option) then a
  1234. beep is emited and the keystroke is ignored.
  1235.  
  1236. .P
  1237.  
  1238. The menu system is changing rapidly so the following may be incomplete.
  1239.  
  1240. .P
  1241.  
  1242. Some other commands may pop up a menu, in which case it behaves in a
  1243. similar way.
  1244.  
  1245. .P
  1246.  
  1247. If you have the up-front instrument active then the menus will appear on
  1248. it rather than on the main menu. This is a stupid attempt to make your
  1249. interaction look similar to what happens in a modern fighter. It is
  1250. often the case that the pilot has a panel which can display about 10
  1251. alpha-numeric words in bright white (daylight readable). These will
  1252. usually use special LEDs and a more elaborate font than the 7-seg digits
  1253. (9 segment?). There are pushbuttons beside these words. The words are
  1254. arranged in two columns, each with 10 words, with 10 buttons on the right
  1255. and 10 on the left. As you press a button new information is displayed.
  1256. Other planes use a real CRT but still have a 5-buttons arrangement
  1257. (mostly on all four sides, totaling 20).
  1258.  
  1259. .P
  1260.  
  1261. In Fly8 the up-front device has two columns of words, each column can
  1262. show 10 words, each word can be 10 characters long. There are 10 buttons
  1263. on the left (Ctrl-F1 through Ctrl-F10) and 10 on the right (Alt-F1 through
  1264. Alt-F10). Use these keys to make selections. You can still use the normal
  1265. command letters (if you know them, as they are not displayed here) as
  1266. well as move about with the Up/Down keys: a small dash between the key
  1267. number and the text identifies the currently selected option.
  1268.  
  1269. .H 2 "Top Menu"
  1270.  
  1271. .VL 15 5
  1272.  
  1273. .LI Exit
  1274.  
  1275. quit the program
  1276.  
  1277. .br
  1278.  
  1279. confirm with 'y' on subsequent menu
  1280.  
  1281. .LI Help
  1282.  
  1283. toggles the help screen on/off
  1284.  
  1285. .LI Pointer
  1286.  
  1287. select pointing device
  1288.  
  1289. .LI Screen
  1290.  
  1291. screen options.
  1292.  
  1293. .LI Windows
  1294.  
  1295. set windows configuration
  1296.  
  1297. .LI Info
  1298.  
  1299. select stats info level
  1300.  
  1301. .LI Emit
  1302.  
  1303. create some random objects or remove them
  1304.  
  1305. .LI Hud
  1306.  
  1307. configure HUD
  1308.  
  1309. .LI Net
  1310.  
  1311. networking commands
  1312.  
  1313. .LI Options
  1314.  
  1315. set global program options
  1316.  
  1317. .LI Auto
  1318.  
  1319. selects some autopilot options
  1320.  
  1321. .LI Debug
  1322.  
  1323. set debug options
  1324.  
  1325. .LI Buttons
  1326.  
  1327. Allows to control the functionality of the pointer buttons. Usuaslly you
  1328. set these options at startup time. The 'B' command will too bring this
  1329. menu up. To actually report a button press/release you use the 'P', 'R'
  1330. and 'M' commands.
  1331.  
  1332. .LI Command
  1333.  
  1334. Allows to control the behaviour os the simple keystroke commands which
  1335. by default have a 'Toggle' action (like 'w', 'g' etc.).
  1336.  
  1337. .LE
  1338.  
  1339. .H 2 "Pointer Menu"
  1340. .P
  1341.  
  1342. A list of all available pointing devices is offered. Select one. All
  1343. systems have a keypad device, most have a mouse and the PC has a
  1344. joystick.
  1345.  
  1346. You will be asked to specify pointer options - read about it later in the
  1347. command line options section.
  1348.  
  1349. .H 2 "Screen Menu"
  1350.  
  1351. .VL 10 5
  1352.  
  1353. .LI Screen.Palette
  1354. .br
  1355.  
  1356. program the palette
  1357.  
  1358. .LI Screen.Colors
  1359. .br
  1360.  
  1361. assign colors to visual elements
  1362.  
  1363. .LI Screen.Stereo
  1364. .br
  1365.  
  1366. select a stereo mode
  1367.  
  1368. .LI "Screen.Dbl Buff"
  1369. .br
  1370.  
  1371. set buffering mode to double/single. A message is posted on the new mode.
  1372. Double buffering is not supported in all environments and in all modes,
  1373. and in some cases it may be significantly slower than single buffering.
  1374.  
  1375. .LI Screen.Blanker
  1376. .br
  1377.  
  1378. toggle screen blanker mode. Borders and some fixed data are not shown in
  1379. blanker mode.
  1380.  
  1381. .LI "Screen.HUD pos"
  1382. .br
  1383.  
  1384. select it the HUD is focused at infinity (default) or on the HUD face.
  1385. Only used for experimenting, rather useless to change the default.
  1386.  
  1387. .LE
  1388.  
  1389. .H 3 "Screen.Palette Menu"
  1390. .P
  1391.  
  1392. A set of colors is listed. Select one for modification. You will then
  1393. be presented with a number of adjustment options:
  1394.  
  1395. .VL 15 5
  1396.  
  1397. .LI Brighter
  1398.  
  1399. intensify the color
  1400.  
  1401. .LI Darker
  1402.  
  1403. reduce color intensity
  1404.  
  1405. .LI New
  1406.  
  1407. set color to a desired RBG value
  1408.  
  1409. .LI Restore
  1410.  
  1411. restore color to original value
  1412.  
  1413. .LE
  1414.  
  1415. .H 3 "Screen.Colors Menu"
  1416. .P
  1417.  
  1418. A list of visual componnents is listed. Select one and then the color
  1419. palette menu will show - choose the color to assign for this element.
  1420.  
  1421. .H 3 "Screen.Stereo Menu"
  1422. .P
  1423.  
  1424. select a mono/stereo mode:
  1425.  
  1426. .VL 10 5
  1427.  
  1428. .LI Screen.Stereo.Mono
  1429. .br
  1430.  
  1431. standard mono mode
  1432.  
  1433. .LI Screen.Stereo.S'Scopic
  1434. .br
  1435.  
  1436. side by side stereoscopic images. Use the 'recerse' option if you prefer
  1437. the cross-eye stereoscipic view.
  1438.  
  1439. .LI Screen.Stereo.RedBlue
  1440. .br
  1441.  
  1442. red/blue composite (needs colored glasses)
  1443.  
  1444. .LI Screen.Stereo.Alternate
  1445. .br
  1446.  
  1447. alternating left/right images (needs shutter glasses and '-s' command
  1448. line option)
  1449.  
  1450. .LI Screen.Reverse
  1451. .br
  1452.  
  1453. toggle reverse-stereo mode (swap Left and Right images)
  1454.  
  1455. .LI Screen.Paralax
  1456. .br
  1457.  
  1458. set stereo inter-occular distance. Initialy set to 12 units. Each unit
  1459. is 1meter/256 (about 4mm).
  1460.  
  1461. .LE
  1462.  
  1463. .H 2 "Windows Menu"
  1464. .P
  1465.  
  1466. A number of window configurations are offered. This defines how the
  1467. screen is split into main and auxiliary display areas. After the
  1468. selection the screen remains active so that you can select the
  1469. \'configure' option immediately.
  1470.  
  1471. .VL 10 5
  1472.  
  1473. .LI Windows.configure
  1474. .br
  1475.  
  1476. This will call up the windows layout setup menu.
  1477.  
  1478. .LI "Windows.bg color"
  1479. .br
  1480.  
  1481. Set the foreground color for one window. You will be prompted to select
  1482. a window and then to select a color.
  1483.  
  1484. .LI "Windows.fg color"
  1485. .br
  1486.  
  1487. Set the border color for one window. You will be prompted to select a
  1488. window and then to select a color.
  1489.  
  1490. .LI "Windows.bo color"
  1491. .br
  1492.  
  1493. Set the background color for one window. You will be prompted to select
  1494. a window and then to select a color.
  1495.  
  1496. .LI Windows.full
  1497. .br
  1498.  
  1499. the whole screen is one window
  1500.  
  1501. .LI Windows.landscape
  1502. .br
  1503.  
  1504. a wide main view with three windows below: stores on the left, radar map
  1505. on the right and a rear vision mirror in the middle.
  1506.  
  1507. .LI Windows.portrait
  1508. .br
  1509.  
  1510. a square main view with a column of two windows on the right
  1511.  
  1512. .LI Windows.square
  1513. .br
  1514.  
  1515. a square main view with a column of three square windows on the right
  1516.  
  1517. .LI Windows.wide
  1518. .br
  1519.  
  1520. a wide main view with four square windows below
  1521.  
  1522. .LI Windows.panorama
  1523. .br
  1524.  
  1525. An experimental format where the center view is accompanied by a left
  1526. and right views which meet on the edges.
  1527.  
  1528. .LI Windows.ether
  1529. .br
  1530.  
  1531. a new window configuration that is being developed at the moment.
  1532.  
  1533. .LE
  1534.  
  1535. .H 3 "Windows.Configure Menu"
  1536. .P
  1537.  
  1538. The plane has a number of on-board instruments, each one has a visual
  1539. representation that can be shown on one of the active displays. This
  1540. menu is used for defining which instrument is to be shown on each of the
  1541. displays. Configuring the main display (usually numbered 0) defines which
  1542. instrument will be used as the alternate view.
  1543.  
  1544. .VL 15 5
  1545.  
  1546. .LI front
  1547.  
  1548. this is a forward looking camera.
  1549.  
  1550. .LI none
  1551.  
  1552. designates the HDD as unassigned
  1553.  
  1554. .LI rear
  1555.  
  1556. a rear viewing camera
  1557.  
  1558. .LI map
  1559.  
  1560. a map of the area from above with you at the center and north is up.
  1561.  
  1562. .LI radar
  1563.  
  1564. as 'map' above but the plane's current heading is the 'up' direction. Gives
  1565. better situation awareness.
  1566.  
  1567. .LI target
  1568.  
  1569. a target following camera.
  1570.  
  1571. .LI pan
  1572.  
  1573. another target following camera that is less stable (more real?)
  1574.  
  1575. .LI gaze
  1576.  
  1577. a view of my plane from a fixed relative point
  1578.  
  1579. .LI chase
  1580.  
  1581. a view of my plane from a point that chases my path.
  1582.  
  1583. .LI follow
  1584.  
  1585. as 'chase' but the view is always level (never rolls).
  1586.  
  1587. .LI hud
  1588.  
  1589. this is the raw HUD display
  1590.  
  1591. .LI "up-front"
  1592.  
  1593. an alphanumeric display used for pilot interaction
  1594.  
  1595. .LI panel
  1596.  
  1597. a digital data and warning display panel.
  1598.  
  1599. .LI right
  1600.  
  1601. the right view of the 'panorama' configuration.
  1602.  
  1603. .LI left
  1604.  
  1605. the left view of the 'panorama' configuration.
  1606.  
  1607. .LI stores
  1608.  
  1609. This is a summary of the vehicle's status showing weapon selection,
  1610. throttle and engine state, fuel and other engaged features (gear, brakes
  1611. etc.).
  1612.  
  1613. .LI lamps
  1614.  
  1615. a digital board of lamps that can be on, off or blinking in red or green
  1616. with a legend on each. It is used by default by the Ether configuration.
  1617.  
  1618. .LI mirror
  1619.  
  1620. Like a rear view but through a mirror. It is by default set up as a wide
  1621. angle mirror.
  1622.  
  1623. .LE
  1624.  
  1625. .H 2 "Info Menu"
  1626. .P
  1627.  
  1628. Select the stats info level. This info is shown on the up-front HDD but
  1629. can (optionally) be overlaid on the main view.
  1630.  
  1631. .VL 10 5
  1632.  
  1633. .LI Info.off
  1634. .br
  1635.  
  1636. do not overlay 'info' on the main view
  1637.  
  1638. .LI Info.on
  1639. .br
  1640.  
  1641. do overlay 'info' on the main view
  1642.  
  1643. .LI Info.none
  1644. .br
  1645.  
  1646. no info
  1647.  
  1648. .LI Info.timing
  1649. .br
  1650.  
  1651. only basic timing will be shown.
  1652.  
  1653. .LI Info.stats
  1654. .br
  1655.  
  1656. timing and internal stats are shown, used for program testing.
  1657.  
  1658. .LI Info.game
  1659. .br
  1660.  
  1661. timing and basic info for a game are shown.
  1662.  
  1663. .sp
  1664.  
  1665. The second line will show (in  order):
  1666.  
  1667. .DL
  1668.  
  1669. .LI
  1670.  
  1671. time from start of game (in seconds).
  1672.  
  1673. .LI
  1674.  
  1675. number of targets present (both standard targets and ground targets)
  1676.  
  1677. .LI
  1678.  
  1679. number of weapons used in total
  1680.  
  1681. .LI
  1682.  
  1683. number of hits scored
  1684.  
  1685. .LE
  1686.  
  1687. .sp
  1688.  
  1689. The third line will show:
  1690.  
  1691. .DL
  1692.  
  1693. .LI
  1694.  
  1695. score (counting down!)
  1696.  
  1697. .LI
  1698.  
  1699. plane speed (meters/sec).
  1700.  
  1701. .LE
  1702. .LE
  1703.  
  1704. .P
  1705.  
  1706. The basic 'timing' data, which is always the first line, is a list of
  1707. millisecond durations for:
  1708.  
  1709. .DL
  1710.  
  1711. .LI
  1712.  
  1713. total time of frame
  1714.  
  1715. .LI
  1716.  
  1717. graphics drawing (display list -> screen)
  1718.  
  1719. .LI
  1720.  
  1721. 3D transformations (world -> display list)
  1722.  
  1723. .LI
  1724.  
  1725. objects simulation (old world -> new world)
  1726.  
  1727. .LI
  1728.  
  1729. other visual calculation (hud, text, sky etc.)
  1730.  
  1731. .LI
  1732.  
  1733. vertical sync wait (if double buffering)
  1734.  
  1735. .LI
  1736.  
  1737. total minus the rest; will include the auxiliary windows time and
  1738. network disturbance.
  1739.  
  1740. .LE
  1741.  
  1742. .H 2 "Emit Menu"
  1743. .P
  1744.  
  1745. Various objects can be created with this menu. These objects are used as
  1746. targets.
  1747.  
  1748. .VL 10 5
  1749.  
  1750. .LI Emit.target
  1751. .br
  1752.  
  1753. create one random target
  1754.  
  1755. .LI del
  1756.  
  1757. delete all targets
  1758.  
  1759. .LI Emit.gtarget
  1760. .br
  1761.  
  1762. create one random ground target
  1763.  
  1764. .LI del
  1765.  
  1766. delete all ground targets
  1767.  
  1768. .LI Emit.box
  1769. .br
  1770.  
  1771. create one random box. Boxes are cubes that hop around which can be shot
  1772. down.
  1773.  
  1774. .LI del
  1775.  
  1776. delete all boxes
  1777.  
  1778. .LI "Emit.del tgts"
  1779. .br
  1780.  
  1781. delete all targets, ground targets and boxes.
  1782.  
  1783. .LI Emit.drone
  1784. .br
  1785.  
  1786. create one random plane (drone)
  1787.  
  1788. .LI del
  1789.  
  1790. delete all drones. This will also set the number of automatic drones to
  1791. zero.
  1792.  
  1793. .LI Emit.drones
  1794. .br
  1795.  
  1796. specify how many drones should be automatically maintained in the air.
  1797. Whenever one is lost another one takes off.
  1798.  
  1799. .LI Emit.killers
  1800. .br
  1801.  
  1802. specify how many of the drones should be killers. These will be set to
  1803. Chase and Kill mode.
  1804.  
  1805. .LE
  1806.  
  1807. .H 2 "HUD Menu"
  1808. .P
  1809.  
  1810. Various aspects of the HUD can be set. Each option is either set, reset
  1811. or toggled. The default is to toggle the option but the first three menu
  1812. items can be used to change this mode. This menu can be accessed from
  1813. the main menu as well as directly with the 'u' command. The following
  1814. selections appear on many of the sub-menus:
  1815.  
  1816. .VL 20 5
  1817.  
  1818. .LI "0 turn off"
  1819.  
  1820. turn option off
  1821.  
  1822. .LI "1 turn on"
  1823.  
  1824. turn option  on
  1825.  
  1826. .LI "2 toggle"
  1827.  
  1828. toggle option on/off
  1829.  
  1830. .LE
  1831.  
  1832. .P
  1833.  
  1834. This top level menu will bring up a number of sub-menus which are
  1835. described further down this doco.
  1836.  
  1837. .VL 10 5
  1838.  
  1839. .LI HUD.off
  1840. .br
  1841.  
  1842. turn the HUD off. When turned off, the radar symbols will still show.
  1843. This is a feature of the game which is not like the real thing; it
  1844. allows you to play with a very clean view. Not only will the radar stuff
  1845. still show, but the symbols will now move freely across the full screen
  1846. rather than being confined to the HUD area. To get rid of the
  1847. reticle/TDB use the 'parts' menu.
  1848.  
  1849. .LI HUD.on
  1850. .br
  1851.  
  1852. turn the HUD on
  1853.  
  1854. .LI HUD.type
  1855. .br
  1856.  
  1857. Select HUD style. Although the styles are named after planes, each plane
  1858. actualy displays many styles depending on the mode of operation.
  1859.  
  1860. .LI HUD.parts
  1861. .br
  1862.  
  1863. The HUD has many components. This sub-menu allows you to choose which
  1864. are included in the HUD display. Selecting a HUD type will automatically
  1865. adjust these to what is appropriate for that style.
  1866.  
  1867. .LI HUD.options1
  1868. .br
  1869.  
  1870. This (and the next) selection allows you to set some parameters which
  1871. modify the appearance of the HUD. The most often used ones are in this
  1872. sub-menu and the rest are in the next.
  1873.  
  1874. .LI HUD.options2
  1875. .br
  1876.  
  1877. See description of "options 1" above.
  1878.  
  1879. .LI HUD.radar
  1880. .br
  1881.  
  1882. This will configure the radar symbology on the HUD.
  1883.  
  1884. .LI HUD.ils
  1885. .br
  1886.  
  1887. Will let you select the ILS beacon. In the future there should be a more
  1888. elaborate NAV facility instead.
  1889.  
  1890. .LI HUD.hdd
  1891. .br
  1892.  
  1893. This menu is now changing as a new hdd (head down display) system is
  1894. being implemented.
  1895.  
  1896. .LI HUD.help
  1897. .br
  1898.  
  1899. Display the full hud setup options list.
  1900.  
  1901. .H 3 "HUD.type Menu"
  1902. .P
  1903.  
  1904. Fly8 supports a number of HUD styles. The name of the hud does not
  1905. necessarily correspond with the plane type but this is what I found on
  1906. the various videos that I saw. If anybody has more knowledge or can
  1907. provide other detail PLEASE feel free to advice me.
  1908.  
  1909. .VL 10 5
  1910.  
  1911. .LI HUD.type.Classic
  1912. .br
  1913.  
  1914. This one I made up before seeing any real HUD. The basic data is laid
  1915. close to the edge and leaved most of the area free from obstruction. My
  1916. original aiming reticule was 8 dots in a circle but I discontinued it in
  1917. favour or the more common piper style. The numerals on the pitch ladder
  1918. do not rotate and the fast font is used. On a slow machine this hud
  1919. (especially in low detail) will perform much faster that any other.
  1920.  
  1921. .LI HUD.type.FA18
  1922. .br
  1923.  
  1924. This HUD does not use tapes for the altitude and speed. The pitch ladder
  1925. is narrower than usual and slanted toward the horizon. A good feature is
  1926. the fact that the pitch ladder stays always in view: if the velocity
  1927. vector goes off the screen (easily done on the FA-18 which has no
  1928. trouble flying at high AOAs) the pitch ladder adopts (temporarily) the
  1929. waterline mark. Another feature is the closure speed which is shown
  1930. under the piper rather than on a radar ranging scale. Optionally, a
  1931. pendulum (or what do you call it?) can be displayed which shows you your
  1932. roll angle with good resolution up to 45 Degrees either way. This is a
  1933. wide angle hud - 20 degrees side to side.
  1934.  
  1935. .LI HUD.type.F16
  1936. .br
  1937.  
  1938. This HUD uses simple scales (no baseline). The heading scale can be at
  1939. the top or at the bottom.
  1940.  
  1941. .LI HUD.type.F15
  1942. .br
  1943.  
  1944. This HUD is probably used for air to air on other planes. The speed
  1945. scale is upside-down. The heading scale can be set to two different
  1946. positioned at the top.
  1947.  
  1948. .LI HUD.type.Ether
  1949. .br
  1950.  
  1951. A new HUD type now being developed.
  1952.  
  1953. .LE
  1954.  
  1955. .H 3 "HUD.parts Menu"
  1956. .P
  1957.  
  1958. The various HUD symbols can be individually selected for display.
  1959.  
  1960. .VL 10 5
  1961.  
  1962. .LI HUD.parts.ladder
  1963. .br
  1964.  
  1965. Select pitch ladder (and related) options.
  1966.  
  1967. .LI HUD.parts.altitude
  1968. .br
  1969.  
  1970. Show altitude scale (or box).
  1971.  
  1972. .LI HUD.parts.speed
  1973. .br
  1974.  
  1975. Show speed scale (or box).
  1976.  
  1977. .LI HUD.parts.heading
  1978. .br
  1979.  
  1980. Show heading scale.
  1981.  
  1982. .LI HUD.parts.border
  1983. .br
  1984.  
  1985. Show the HUD border (in gray color).
  1986.  
  1987. .LI HUD.parts.vv
  1988. .br
  1989.  
  1990. Show the plane's velocity vector. A must for accurate flying.
  1991.  
  1992. .LI HUD.parts.vw
  1993. .br
  1994.  
  1995. This activates a mode that the FA18 uses: when the vv goes off screen, a
  1996. waterline mark will appear and the pitch ladder will be drawn around it.
  1997. This way the ladder never goes completely off screen (which can often
  1998. happen when flying at high AOAs).
  1999.  
  2000. .LI HUD.parts.plus
  2001. .br
  2002.  
  2003. Show a 'plus' sign at the center of the screen.
  2004.  
  2005. .LI HUD.parts.pointer
  2006. .br
  2007.  
  2008. Show a small (red) mark that tracks the joystick (or mouse or whatever
  2009. pointing device you  use).
  2010.  
  2011. .LI HUD.parts.beta
  2012. .br
  2013.  
  2014. Show the sideslip angle (beta) on FA18 style.
  2015.  
  2016. .LI HUD.parts.ground
  2017. .br
  2018.  
  2019. Brings up a menu of ground proximity related options.
  2020.  
  2021. .LI HUD.parts.director
  2022. .br
  2023.  
  2024. Show the flight director. This is part of the new ether HUD still under
  2025. development.
  2026.  
  2027. .LI HUD.parts.waypoint
  2028. .br
  2029.  
  2030. Will show the target as a diamond along with a small pointer near the
  2031. FPM pointing at it. This small pointer represents a top view where the
  2032. small circle is the pointer base and the line from it marks the
  2033. direction of the target. When ILS is active it is that point that will
  2034. be tracked by these symbols.
  2035.  
  2036. .LI HUD.parts.tracers
  2037. .br
  2038.  
  2039. This shows a 'string' hanginf off your boresight, which represents the
  2040. bullets position if you were firing. Horizontal marks indicate interval
  2041. of 1500 feet, and a small bead marks the target distance. This tool is
  2042. useful for gun shots when the radar is shut down.
  2043.  
  2044. .LI HUD.parts.ghost
  2045. .br
  2046.  
  2047. The Flight Path Marker is caged. A ghost FPM is shown if the caging
  2048. shifts the FPM by more than 1 degree. It looks like the FPM but without
  2049. the central circle.
  2050.  
  2051. .LI HUD.parts.truehead
  2052. .br
  2053.  
  2054. The Heading scale is normally calibrated to show about 30 degrees.
  2055. However, you may prefer it to span directly correspond to the world view
  2056. through the HUD. In this way, an object that is 10 degrees left of the
  2057. HUD center will really be indicated with a 10 degrees offset on the
  2058. heading scale. This option is the default for the Ether HUD.
  2059.  
  2060. .LE
  2061.  
  2062. .H 3 "HUD.parts.ladder menu"
  2063. .P
  2064.  
  2065. These options modify some aspects of the HUD appearance regarding the
  2066. pitch ladder and associated symbols.
  2067.  
  2068. .VL 10 5
  2069.  
  2070. .LI HUD.parts.ladder.ladder
  2071. .br
  2072.  
  2073. Enables the display of the pitch ladder.
  2074.  
  2075. .LI HUD.parts.ladder.pinned
  2076. .br
  2077.  
  2078. In this mode the ladder it always attached to the HUD center (waterline
  2079. mark).
  2080.  
  2081. .LI HUD.parts.ladder.right
  2082. .br
  2083.  
  2084. The numbers on the ladder steps are displayed only on the right wing.
  2085.  
  2086. .LI HUD.parts.ladder.erect
  2087. .br
  2088.  
  2089. The numbers are displayed erected. The default will rotate the numbers
  2090. with the ladder.
  2091.  
  2092. .LI HUD.parts.ladder.color
  2093. .br
  2094.  
  2095. In this mode the positive steps are blue and the negative are red.
  2096.  
  2097. .LI HUD.parts.ladder.funnel
  2098. .br
  2099.  
  2100. The step tips are displayed in the middle gap instead, which gives it a
  2101. funnel shape.
  2102.  
  2103. .LI HUD.parts.ladder.slant
  2104. .br
  2105.  
  2106. The steps are slanted rather than flat. The slant increases with the
  2107. pitch angle, reaching to about 45 degrees.
  2108.  
  2109. .LI HUD.parts.ladder.zenith
  2110. .br
  2111.  
  2112. Will display a zenith/nadir marker. It is a small circle for the zenith
  2113. and a similar circle with a cross inside for the nadir.
  2114.  
  2115. .LI HUD.parts.ladder.under
  2116. .br
  2117.  
  2118. The numerals are displayed under the step rather than beside it.
  2119.  
  2120. .LI HUD.parts.ladder.tip0
  2121. .br
  2122.  
  2123. Specifies that you want a tip to be displayed on the zero pitch
  2124. (horizon) ladder step.
  2125.  
  2126. .LI HUD.parts.ladder.hold
  2127. .br
  2128.  
  2129. This is a temporary option that controls the behaviour of the program
  2130. when the pitch is very high such that some standard calculations cannot
  2131. be carried out. By default it freezes the heading and allows the roll
  2132. angle to vary.
  2133.  
  2134. .LI HUD.parts.ladder.h roll
  2135. .br
  2136.  
  2137. This controls another aspect of the behaviour as described in the
  2138. previous option. It causes the roll angle to freeze while the heading
  2139. will continue to reflect your attitude.
  2140.  
  2141. .LI HUD.parts.ladder.sun
  2142. .br
  2143.  
  2144. Shows a sun symbol, a small white circle which stays on the HUD edge
  2145. when the sun is out of sight. It actually follows the zenith rather that
  2146. the real sun and is intended as an aid in recovering your situational
  2147. awareness.
  2148.  
  2149. .LI HUD.parts.ladder.negtip
  2150. .br
  2151.  
  2152. This indicates that the step tips will always point toward the nadir.
  2153. The default is to point toward the horizon.
  2154.  
  2155. .LI HUD.parts.ladder.sizes
  2156. .br
  2157.  
  2158. Brings up a menu for setting the sizes of the ladder features.
  2159.  
  2160. .LE
  2161.  
  2162. .H 3 "HUD.parts.ladder.sizes menu"
  2163. .P
  2164.  
  2165. These options specify the sizes of the pitch ladder parts. The size is a
  2166. relative number with a value from 0 (size zero) to 16384 (full HUD
  2167. width). A resize menu will come up which will allow you to modify the
  2168. size using the '+' or '-' options (increase/decrease) or using the '='
  2169. option (you can then enter a new value). Use the '*' option to restore
  2170. the value to what it was at the start (but when you exit this menu the
  2171. new value is final).
  2172.  
  2173. .VL 10 5
  2174.  
  2175. .LI HUD.parts.ladder.sizes.gap
  2176. .br
  2177.  
  2178. The width of the gap in the middle of each step.
  2179.  
  2180. .LI HUD.parts.ladder.sizes.step
  2181. .br
  2182.  
  2183. The width of each ladder step.
  2184.  
  2185. .LI HUD.parts.ladder.sizes.horizon
  2186. .br
  2187.  
  2188. The size of the horizon step in flight.
  2189.  
  2190. .LI HUD.parts.ladder.sizes.land
  2191. .br
  2192.  
  2193. The size of the horizon step when the landing gear is lowered.
  2194.  
  2195. .LI HUD.parts.ladder.sizes.tip
  2196. .br
  2197.  
  2198. The size of the step tip.
  2199.  
  2200. .LI HUD.parts.ladder.sizes.ndash
  2201. .br
  2202.  
  2203. The number of dashes that make a single step (one side of it).
  2204.  
  2205. .LE
  2206.  
  2207. .H 3 "HUD.parts.ground menu"
  2208. .P
  2209.  
  2210. These options modify some aspects of the HUD appearance regarding ground
  2211. proximity.
  2212.  
  2213. .VL 10 5
  2214.  
  2215. .LI "HUD.parts.ground.gnd ptr"
  2216. .br
  2217.  
  2218. The ground pointer is a marker that shows your bank (roll) angle. It is
  2219. represented by an arrow-head which slides along a set of angle marks.
  2220. The highest angle marked is 45 degrees.
  2221.  
  2222. .LI HUD.parts.ground.Xbreak
  2223. .br
  2224.  
  2225. Show the X-break symbol if at risk of hitting the ground. This symbol is
  2226. a large, blinking, X symbol in the center of the HUD. If you get even
  2227. closer to impact then a PULL UP message will be flashed and a high
  2228. pitch warning will sound.
  2229.  
  2230. .LI HUD.parts.ground.Xvar
  2231. .br
  2232.  
  2233. In this mode the X-break symbol starts with two angle-brackets (like
  2234. \'> <' that get closer towards the HUD center as the impact gets nearer.
  2235. It then merges into a single X shaped symbol.
  2236.  
  2237. .P
  2238.  
  2239. The default mode always shows the X shaped symbol, regardless of the time
  2240. to impact.
  2241.  
  2242. .LI HUD.parts.ground.Xgrid
  2243. .br
  2244.  
  2245. Show the warning grid if at risk of hitting the ground. This is a red
  2246. grid which will overlay the ground if you fly too low. This experimental
  2247. mode is attempting to assist you in regaining awareness of your
  2248. situation when there are not enough groung features in view.
  2249.  
  2250. .LI HUD.parts.ground.pullup
  2251. .br
  2252.  
  2253. A pullup cue will be displayed. It indicated the dive angle at which you
  2254. will hit the ground in 5 seconds. When a bomb weapon is selected a
  2255. safety distance of 200 meters is set to protect you from the explosion.
  2256.  
  2257. .P
  2258.  
  2259. The pullup cue looks like an extra pitch ladder step (usually narrower),
  2260. with upwards slanted tips.
  2261.  
  2262. .LE
  2263.  
  2264. .H 3 "HUD.options1 Menu"
  2265. .P
  2266.  
  2267. These options modify some aspects of the HUD appearance.
  2268.  
  2269. .VL 10 5
  2270.  
  2271. .LI HUD.options1.heading
  2272. .br
  2273.  
  2274. The heading scale shows the planes heading. The numbers displayed are
  2275. in the range 000-350 in increments of 10. This option selects between
  2276. showing the full 3 digits or using an abbreviated form. The abbreviated
  2277. form will only show the top two digits (09 for 90 and 27 for 270). The
  2278. Classic HUD style will show the full number but without the leading zeros.
  2279.  
  2280. .LI HUD.options1.knots
  2281. .br
  2282.  
  2283. Internally all data is stored in meters. This option requests that all
  2284. numbers use knots/feet (as appropriate) instead. It is the default for
  2285. the standard HUDs.
  2286.  
  2287. .LI HUD.options1.top
  2288. .br
  2289.  
  2290. This will further modify the heading scale. The scale will show at the
  2291. top or at the bottom depending on this option. For the FA18 HUD style,
  2292. this option will cause a base-line to be drawn under the scale (the
  2293. scale will stay at the top regardless).
  2294.  
  2295. .LI HUD.options1.fine
  2296. .br
  2297.  
  2298. For some of the scales this option will show more detail. The standard
  2299. detail is to show a tick every 5 units. The fine detail will show a tick
  2300. every two units.
  2301.  
  2302. .LI HUD.options1.xfine
  2303. .br
  2304.  
  2305. This is a further refinement of the above 'fine' level and will show a
  2306. tick for each scale unit.
  2307.  
  2308. .LI HUD.options1.big
  2309. .br
  2310.  
  2311. [obsolete]The name is completely wrong. This option defines the style of
  2312. the ticks on the scales (for some of the HUDs only). The usual way is to
  2313. have the ticks go from the base-line to the outside. In the 'big' style
  2314. the scale will be along the edge with the ticks towards the inside.
  2315.  
  2316. .LI HUD.options1.scale
  2317. .br
  2318.  
  2319. This defines the number of units along the scale. This affects only the
  2320. Classic HUD. The more units, the longer the scales.
  2321.  
  2322. .LI HUD.options1.area
  2323. .br
  2324.  
  2325. The HUD has a fixed area (measured in field-of-view degrees). You can
  2326. alter this size. Note that although the HUD size changes when you zoom
  2327. in/out, it still keeps the same FOV. This option defines how many
  2328. degrees are from the center to the edge of the HUD (all HUDs are
  2329. square).
  2330.  
  2331. .LI HUD.options1.cas
  2332. .br
  2333.  
  2334. The speed show will be the 'calibrated airspeed' rather than the 'true
  2335. airspeed'. A snall 'T' or 'C' will mark the type of speed shown.
  2336.  
  2337. .LE
  2338.  
  2339. .H 3 "HUD.options2 Menu"
  2340. .P
  2341.  
  2342. These options modify some aspects of the HUD appearance. These are the
  2343. less used options.
  2344.  
  2345. .VL 10 5
  2346.  
  2347. .LI "HUD.options2.a alarm"
  2348. .br
  2349.  
  2350. Enable aural alarms. If you hate the GLIMIT beeps etc. then use this
  2351. option to turn these alarms off.
  2352.  
  2353. .LI "HUD.options2.v alarm"
  2354. .br
  2355.  
  2356. This will Enable/disable the visual alarms that show on the HUD.
  2357.  
  2358. .LI HUD.options2.panel
  2359. .br
  2360.  
  2361. Request to show the panel HDD on the main window. This will show at the
  2362. bottom right side as digital flight data.
  2363.  
  2364. .LI HUD.options2.font
  2365. .br
  2366.  
  2367. Select the font for the stroke characters used on the screen
  2368.  
  2369. .LI HUD.options2.fontsize
  2370. .br
  2371.  
  2372. Select the stroke font size. A size of 8 means 'use the default' and all
  2373. other sizes are relative to 8. The default is calculated from the screen
  2374. resolution.
  2375.  
  2376. .LE
  2377.  
  2378. .H 3 "HUD.radar Menu"
  2379. .P
  2380.  
  2381. The radar symbology on the HUD is controlled with these options.
  2382.  
  2383. .VL 10 5
  2384.  
  2385. .LI HUD.radar.corner
  2386. .br
  2387.  
  2388. Radar target data can be at the bottom-left corner of the HUD or can
  2389. follow the target designator.
  2390.  
  2391. .LI HUD.radar.data
  2392. .br
  2393.  
  2394. Request to show target data.
  2395.  
  2396. .LI HUD.radar.distance
  2397. .br
  2398.  
  2399. Request to show target distance in intel mode (mainly used in the
  2400. radar/map modes).
  2401.  
  2402. .LI HUD.radar.name
  2403. .br
  2404.  
  2405. Request to show target type in intel mode (mainly used in the radar/map
  2406. modes).
  2407.  
  2408. .LI HUD.radar.accvect
  2409. .br
  2410.  
  2411. Show target acceleration vector as a hand inside the reticle piper.
  2412.  
  2413. .LI HUD.radar.reticle
  2414. .br
  2415.  
  2416. Show aiming reticle piper.
  2417.  
  2418. .LI HUD.radar.target
  2419. .br
  2420.  
  2421. Show the target designator.
  2422.  
  2423. .LI HUD.radar.ross
  2424. .br
  2425.  
  2426. Use Ross's method for the aiming reticle. This mode will show a small
  2427. box in front of the target where it is expected to be when a bullet hits
  2428. it. If you aim the reticle at this box and shoot then you should hit the
  2429. target.
  2430.  
  2431. .LI HUD.radar.limit
  2432. .br
  2433.  
  2434. Unlike real HUDs, the radar symbols can be displayed all over the screen
  2435. rather that just inside the HUD area. 'limit' will specify which way it
  2436. should be.
  2437.  
  2438. .LI HUD.radar.thick
  2439. .br
  2440.  
  2441. This is an experimental option to draw the radar reticle thicker.
  2442.  
  2443. .LI HUD.radar.hidetgt
  2444. .br
  2445.  
  2446. When active, if the TD box is under the reticle then it is not shown.
  2447. This de-clutters the area of interest.
  2448.  
  2449. .LI HUD.radar.tpointer
  2450. .br
  2451.  
  2452. If the target is off the HUD then a line is drawn from the
  2453. boresightpoint (the '+' at the view center) towards the target. The
  2454. distance to the target is shown digitally: this is the angle of the
  2455. target relative to the boresight direction: 180 means it is exactly
  2456. behind you, 90 means it is on your side (ANY side, right, left, above or
  2457. below). It should be read as: if you turn so many degrees in the
  2458. direction of the pointer then you will have the target straight in
  2459. front.
  2460.  
  2461. .LI HUD.radar.vpointer
  2462. .br
  2463.  
  2464. This will modify the 'tpointer' such that the length of the pointer will
  2465. vary with the target relative angle.
  2466.  
  2467. .LE
  2468.  
  2469. .H 3 "HUD.hdd Menu"
  2470. .P
  2471.  
  2472. Fly8 supports a number of HDD devices. This menu allows you to set these
  2473. up with various options. It is still under construction.
  2474.  
  2475. .VL 10 5
  2476.  
  2477. .LI HUD.HDD.instruments
  2478. .br
  2479.  
  2480. Show the instruments panel. This is a very basic (and rather useless by
  2481. now) instruments depiction that will be overlayed at the bottom right of
  2482. the main window.
  2483.  
  2484. .LI HUD.HDD.nav
  2485. .br
  2486.  
  2487. Request to display navogation info in the panel display.
  2488.  
  2489. .LI HUD.HDD.compass
  2490. .br
  2491.  
  2492. A compass will be added to the radar map display. See next options too.
  2493.  
  2494. .LI HUD.HDD.square
  2495. .br
  2496.  
  2497. Selects a square or round compass
  2498.  
  2499. .LI HUD.HDD.ortho
  2500. .br
  2501.  
  2502. Selects angled or orthogonal ticks around a square compass.
  2503.  
  2504. .LE
  2505.  
  2506. .H 2 "Net Menu"
  2507. .P
  2508.  
  2509. For full details please refer to the networking chapter.
  2510.  
  2511. .VL 10 5
  2512.  
  2513. .LI Net.ping
  2514. .br
  2515.  
  2516. find out who else is playing. A message is broadcasted and for each
  2517. responding player a message is displayed.
  2518.  
  2519. .LI Net.play
  2520. .br
  2521.  
  2522. join another player's game (or all players)
  2523.  
  2524. .LI Net.quit
  2525. .br
  2526.  
  2527. stop playing with a player. If there are more than one players then you
  2528. will be asked to choose.
  2529.  
  2530. .LI Net.message
  2531. .br
  2532.  
  2533. send a message to a player (or all). You will later be notified how long
  2534. it took the message to reach each player and return a notification.
  2535.  
  2536. .LI Net.accept
  2537. .br
  2538.  
  2539. accept a player's request to play with you. Used in response to the
  2540. Requesting message.
  2541.  
  2542. .LI Net.decline
  2543. .br
  2544.  
  2545. decline a player's request to play with you. Used in response to the
  2546. Requesting message.
  2547.  
  2548. .LI "Net.always accept"
  2549. .br
  2550.  
  2551. automatically accept any requests to play.
  2552.  
  2553. .LI "Net.always decline"
  2554. .br
  2555.  
  2556. automatically decline any requests to play.
  2557.  
  2558. .LI "Net.manual reply"
  2559. .br
  2560.  
  2561. do not automatically respond to any requests to play.
  2562.  
  2563. .LE
  2564.  
  2565. .H 2 "Options Menu"
  2566.  
  2567. .VL 10 5
  2568.  
  2569. .LI Options.Version
  2570. .br
  2571.  
  2572. show program version and compile date/time.
  2573.  
  2574. .LI Options.Smoke
  2575. .br
  2576.  
  2577. set/clear smoke generation. Damaged planes and craters will smoke if the
  2578. option is enabled.
  2579.  
  2580. .LI Options.Font
  2581. .br
  2582.  
  2583. show current stroke font. It is displayed if large on the center of the
  2584. screen.
  2585.  
  2586. .LI Options.Colors
  2587. .br
  2588.  
  2589. Show the current palette setup.
  2590.  
  2591. .LI Options.Modes
  2592. .br
  2593.  
  2594. show current program modes setting (same as 'm' command)
  2595.  
  2596. .LI Options.Sky
  2597. .br
  2598.  
  2599. paint blue sky in views.
  2600.  
  2601. .LI Options.Gravity
  2602. .br
  2603.  
  2604. enable gravity (default). Will affect bullets path.
  2605.  
  2606. .LI "Options.Play Blues"
  2607. .br
  2608.  
  2609. [sound debug] No simulator is complete without it. Actually used to test
  2610. the sound generation logic which for now is operational only on the PC.
  2611.  
  2612. .LI Options.Verbose
  2613. .br
  2614.  
  2615. Toggle verbose mode. Off by default. When using the menu system you will
  2616. not be shown the standard 'help' screens. Use the 'm' and 'uh' commands
  2617. to see the 'modes' and 'hud' help screens. The command line 'v' controls
  2618. this option as well.
  2619.  
  2620. .LI "Options.Net Stats"
  2621. .br
  2622.  
  2623. display network statistics (same as 'n' command).
  2624.  
  2625. .LI "Options.Limited"
  2626. .br
  2627.  
  2628. Will limit the ammunition to the takeoff quantity. Normally you have
  2629. limitless ammo.
  2630.  
  2631. .LI "Options.No stall"
  2632. .br
  2633.  
  2634. This option reduced the effectiveness of a stall. Good for early
  2635. practice.
  2636.  
  2637. .LI "Options.Paused Msg"
  2638. .br
  2639.  
  2640. This option is ON by default. If set to OFF then the 'paused' message
  2641. (when issuing the 'p' command) will not display. This is nice for clean
  2642. screen captures.
  2643.  
  2644. .LI "Options.win ident"
  2645. .br
  2646.  
  2647. This option is OFF by default. If set to ON then a window name is
  2648. displayed at the top right corner of each.
  2649.  
  2650. .LE
  2651.  
  2652. .H 2 "Auto Menu"
  2653. .P
  2654.  
  2655. These options enable some augmentation systems which modify the
  2656. behaviour of some controls.
  2657.  
  2658. .VL 10 5
  2659.  
  2660. .LI Auto.Flaps
  2661. .br
  2662.  
  2663. Enables the flaps Control Augmentation System (CAS). This will give you
  2664. better turn performance by adding flaps (or leading edge flaps) when
  2665. needed).
  2666.  
  2667. .LI Auto.Elevators
  2668. .br
  2669.  
  2670. This will enable the CAS which limits the Elevators sensitivity at high
  2671. speed to avoid excessive load. A Stability Augmentation System (SAS) is
  2672. being added which will improve dynamic pitch stability by taking
  2673. some authority over the elevators.
  2674.  
  2675. .LI Auto.Rudder
  2676. .br
  2677.  
  2678. Enable the rudder SAS and CAS. It is not yet implemented.
  2679.  
  2680. .LE
  2681.  
  2682. .H 2 "Debug Menu"
  2683.  
  2684. .VL 10 5
  2685.  
  2686. .LI Debug.debug
  2687. .br
  2688.  
  2689. Enable the general debug mode. Some programs will display internal data
  2690. when in this mode. This changes a lot and cannot be documented.
  2691.  
  2692. .LI "Debug.gp w"
  2693. .br
  2694.  
  2695. General purpose debug option W is controlled by this option. It is used
  2696. for debugging and cannot be documented here, see if there is anything in
  2697. the readme.
  2698.  
  2699. .LI "Debug.gp x"
  2700. .br
  2701.  
  2702. As above for option X.
  2703.  
  2704. .LI "Debug.gp y"
  2705. .br
  2706.  
  2707. As above for option Y.
  2708.  
  2709. .LI "Debug.gp z"
  2710. .br
  2711.  
  2712. As above for option Z.
  2713.  
  2714. .LE
  2715.  
  2716. .H 2 "Buttons Menu"
  2717. .P
  2718.  
  2719. The Buttons on your pointer (mouse, joystick etc.) are recognized by the
  2720. pointer driver and reported back to Fly8. It is now up to the program to
  2721. react to the button status. If a button press command is associated with
  2722. a key then it will be issued when the button press status is recognized.
  2723. If the button was set to release mode then when you release the button a
  2724. command may be sent too.
  2725.  
  2726. .P
  2727.  
  2728. You use this menu to define the modes that a button responds to. The
  2729. actual command associated with a button press/release is defined by
  2730. including, in fly.max, a line like:
  2731.  
  2732. .P
  2733. .ti 5
  2734. \fCDef Btn 0 F1\fP
  2735.  
  2736. .P
  2737.  
  2738. This will cause button 0 (the first button) to issue the F1 (weapon
  2739. fire) command. Another example:
  2740.  
  2741. .P
  2742. .ti 5
  2743. \fCDef Btn 1 +\fP
  2744. .ti 5
  2745. \fCDef Brl 1 +\fP
  2746.  
  2747. .P
  2748.  
  2749. This will cause a '+' (speed brake on/off) to be issued when you press
  2750. button 1, then another '+' when it is released. This way the speed brake
  2751. is active while you hold button 1.
  2752.  
  2753. .P
  2754.  
  2755. If you want the same key to have a different command depending of your
  2756. game mode then you can use the virtual 'button shift modes' provided.
  2757. The buttons are considered to be sensitive to the status of the Alt,
  2758. Ctrl, Shift and Special buttons (which do not exist on any input). If
  2759. the Btn-Alt is set then pressing button 1 will be recognized as
  2760. Btn-Alt-1 and will respond to a line in fly.max like:
  2761.  
  2762. .P
  2763. .ti 5
  2764. \fCDef Btn Alt 1 r\fP
  2765.  
  2766. .P
  2767.  
  2768. to turn the radar on/off. The only way to set these button modes is
  2769. through this buttons menu. However, you can program any hot key to do
  2770. this for you. You can program Alt-S as your button Shift key in fly.max:
  2771.  
  2772. .P
  2773. .ti 5
  2774. \fCDef Alt S M s        # Now Alt-S toggles Btn-Shift mode\fP
  2775.  
  2776. .P
  2777.  
  2778. This allows the buttons to have 16 diffrerent modes which should be
  2779. enough, however, by default, the buttons do NOT respond to the mode
  2780. state. To make a button sensitive you use this menu.
  2781.  
  2782. .P
  2783.  
  2784. All joysticks have 2 buttons, Thrustmaster FCS and CHPro have 4 (use the
  2785. ":four" option in this case) and also the hat is decoded as four more
  2786. buttons. Mice may have more buttons and some drivers will recognize the
  2787. common three. When using a Thrustmaster WCS of FLCS you may program all
  2788. the buttons to be handled through the keyboard, in which case there are
  2789. NO buttons directly visible (use the ":zero" pointer option in this
  2790. case).
  2791.  
  2792. .P
  2793.  
  2794. The first thing you will see is a request to name the button to be
  2795. customized. The buttons are named with a single alphanumeric character
  2796. (so a maximum of 36 buttons can be handled by Fly8). Then you will be
  2797. presented with the following menu.
  2798.  
  2799. .VL 10 5
  2800.  
  2801. .LI Buttons.Alt
  2802. .br
  2803.  
  2804. Will set the Button Alt mode sensitivity. By default all buttons ignore
  2805. this mode, the pointer option a=... can nominate buttons that should be
  2806. sesitive to this mode.
  2807.  
  2808. .LI Buttons.Ctrl
  2809. .br
  2810.  
  2811. Will set the Button Ctrl mode sensitivity. By default all buttons ignore
  2812. this mode, the pointer option c=... can nominate buttons that should be
  2813. sesitive to this mode.
  2814.  
  2815. .LI Buttons.Shift
  2816. .br
  2817.  
  2818. Will set the Button Shift mode sensitivity. By default all buttons
  2819. ignore this mode, the pointer option s=... can nominate buttons that
  2820. should be sesitive to this mode.
  2821.  
  2822. .LI Buttons.sPecial
  2823. .br
  2824.  
  2825. Will set the Button Special mode sensitivity. By default all buttons
  2826. ignore this mode, the pointer option p=... can nominate buttons that
  2827. should be sesitive to this mode.
  2828.  
  2829. .LI Buttons.Debounce
  2830. .br
  2831.  
  2832. Set the debounce mode. When ON, a button press will activate a command
  2833. once, until released and pressed again. When OFF, the command will be
  2834. repeatedly issued as long as the button is pressed (once per frame).
  2835.  
  2836. .P
  2837.  
  2838. By default all buttons are debounced. The pointer option d=... can
  2839. nominate buttons that should NOT be debounced.
  2840.  
  2841. .LI Buttons.Release
  2842. .br
  2843.  
  2844. When ON, this option will enable issuing button release commands. When
  2845. OFF the button release will not issue a command.
  2846.  
  2847. .P
  2848.  
  2849. By default all buttons recognize release events. The pointer option
  2850. r=... can nominate buttons that should NOT recognize release. [but I am
  2851. not sure what it is useful for].
  2852.  
  2853. .LI Buttons.Clear
  2854. .br
  2855.  
  2856. Will clear all modes sensitivity for the button. Note that this will
  2857. include the Debounce and Release modes which are normally ON. You use
  2858. the Clear option when you wish to directly set a button to a known
  2859. state, like: "x d r s" will set this button for Debounce, Release and
  2860. Shift sensitivity.
  2861.  
  2862. .LI Buttons.Cancel
  2863. .br
  2864.  
  2865. Will exit without changing the button definition.
  2866.  
  2867. .LE
  2868.  
  2869. .H 2 "Commands Menu"
  2870. .P
  2871.  
  2872. Some simple commands toggle between options. This makes it impossible to
  2873. use a macro for setting these commands to a pre-determined state. The
  2874. commands menu allows you to do just so. Select 'On', Off' or 'Toggle'
  2875. then hit another command. Now it will follow the earlier setting rather
  2876. than the default 'Toggle' behaviour.
  2877.  
  2878. .H 1 "Command Line Editing"
  2879. .P
  2880.  
  2881. When a command needs to receive a parameter which is more than one
  2882. keystroke it uses a line input facility. It allows you to use history
  2883. and editing. You can use the arrow keys and insert/delete keys to move
  2884. about and edit your response. The up/down keys will retrieve history.
  2885. Finally you will need to press Enter for the program to accept the
  2886. input. If you key the start of a line and hit PgUp then a search will be
  2887. done for a previous entry with the same beginning.
  2888.  
  2889. .P
  2890.  
  2891. The history queue has 20 entries, all input requests share this same
  2892. queue.
  2893.  
  2894. .H 1 "Aural Indicators"
  2895. .P
  2896.  
  2897. Sound is used to inform and warn. The sounds at the moment are simple tones
  2898. or tone sequences.
  2899.  
  2900. .P
  2901.  
  2902. A short beep will sound when:
  2903.  
  2904. .DL 5
  2905.  
  2906. .LI
  2907.  
  2908. you fire a weapon
  2909.  
  2910. .LI
  2911.  
  2912. you hit a target, or a plane crashes
  2913.  
  2914. .LI
  2915.  
  2916. the radar locks onto a (new) target
  2917.  
  2918. .LI
  2919.  
  2920. a menu selection is invalid
  2921.  
  2922. .LE
  2923.  
  2924. .P
  2925.  
  2926. A low beep will sound when:
  2927.  
  2928. .DL 5
  2929.  
  2930. .LI
  2931.  
  2932. landing
  2933.  
  2934. .LI
  2935.  
  2936. taking off
  2937.  
  2938. .LI
  2939.  
  2940. landing gear status is changed
  2941.  
  2942. .LE
  2943.  
  2944. .P
  2945.  
  2946. Two repeating tones for:
  2947.  
  2948. .DL 5
  2949.  
  2950. .LI
  2951.  
  2952. Emergency alarm (pull-up, eject etc.)
  2953.  
  2954. .LI
  2955.  
  2956. Warning alarm (stall, g-limit etc.)
  2957.  
  2958. .LE
  2959.  
  2960. .P
  2961.  
  2962. Repeating scales when:
  2963.  
  2964. .DL 5
  2965.  
  2966. .LI
  2967.  
  2968. target practice has ended
  2969.  
  2970. .LE
  2971.  
  2972. .H 1 "Visual Indicators"
  2973. .P
  2974.  
  2975. These are highlighted words flashed onto the HUD. They vary in size and
  2976. blink rate.
  2977.  
  2978. .VL 15 5
  2979.  
  2980. .LI WAIT
  2981.  
  2982. You ejected and landed but your plane did not yet crash. This one does
  2983. not relate to the HUD, all the others only show when the HUD is on.
  2984.  
  2985. .LI STALL
  2986.  
  2987. You are flying the plane too slow to maintain lift or you are turning
  2988. too sharply at a too high angle of attack.
  2989.  
  2990. .LI GLIMIT
  2991.  
  2992. You exceeded the maximum acceptable G force of your body (+9G to -3G),
  2993. or you exceeded the 10G plane structure limit.
  2994.  
  2995. .LI FUEL
  2996.  
  2997. You have less than 10% fuel left. The less fuel you have the faster the
  2998. message blinks, then it finally stays on.
  2999.  
  3000. .LI "PULL UP"
  3001.  
  3002. You are about to hit the ground unless you pull the plane up
  3003. immediately. If the danger is higher then a red ground grid is flashed
  3004. to give the pilot better orientation (there is not enough scenery to
  3005. build proper visual awareness).
  3006.  
  3007. .LI EJECT
  3008.  
  3009. The plane is damaged beyond control. Shift-E to eject.
  3010.  
  3011. .LE
  3012.  
  3013. .H 1 "The Plane"
  3014. .P
  3015.  
  3016. This chapter explains in detail how planes are handled in this program.
  3017.  
  3018. .P
  3019.  
  3020. The plane is controlled by your pointing device, preferably a joystick.
  3021. The basic controls will have the following effect:
  3022.  
  3023. .P
  3024.  
  3025. Left/right controls will cause the plane to roll. The roll will continue
  3026. while the controls are engaged. When the joystick is centered the
  3027. rolling will stop and the plane will stay in the current situation. If
  3028. you want to fly level after rolling to the right then you will have to
  3029. do the following:
  3030.  
  3031. .DL 5
  3032.  
  3033. .LI
  3034.  
  3035. roll right (the horizon will roll left).
  3036.  
  3037. .LI
  3038.  
  3039. stop rolling (the horizon will stay at a fixed angle).
  3040.  
  3041. .LI
  3042.  
  3043. roll left (horizon rolling back to the right).
  3044.  
  3045. .LI
  3046.  
  3047. stop rolling (when the horizon is level).
  3048.  
  3049. .LE
  3050.  
  3051. .P
  3052.  
  3053. As the plane has momentum, the response is not immediate and you will
  3054. have to get a feel for it.
  3055.  
  3056. .P
  3057.  
  3058. To start climbing you will pull the stick toward you until the climb
  3059. angle is what you want and then release the stick. The plane will
  3060. continue climbing until you push the nose down for level flight. If you
  3061. are rolled over to one side then the pulling will cause the plane to
  3062. turn into that side. If you are upside-down and you pull the stick then
  3063. you will start descending towards the ground. In other words: the
  3064. up/down controls (elevators) are used for any change of direction, both
  3065. left/right and up/down.
  3066.  
  3067. .P
  3068.  
  3069. To turn right, first roll right, then pull the stick until the desired
  3070. heading is reached, then release the elevators and roll back to level
  3071. flight. Of course, due to gravity and plane dynamics any change in
  3072. situation will probably cause the plane to move in a direction slighly
  3073. different from what the controls suggest - you should learn to
  3074. compensate for this. The flight-path-marker (the little circle with
  3075. three wings) tells you where the plane is heading and this is hardly
  3076. ever the direction where your plane is pointed at.
  3077.  
  3078. .P
  3079.  
  3080. To control your engine you set the throttle with the 9/3 keys. The
  3081. throttle can be set to between -100% and 100%. Reverse setting only
  3082. works on the ground. Each keystroke is 5% change. The 1 key will set the
  3083. throttle to 100% and the 0 key to 0%. The planes speed will pick up
  3084. slowly (depends on the planes weight and the engines power). You can
  3085. engage the after-burner with the '.' key. To slow down you may use the
  3086. speed brakes ('+' key).
  3087.  
  3088. .P
  3089.  
  3090. About the AfterBurner: light it with '.' (will also set throttle to
  3091. 100%). Then each '.' or '3' (power-up) will add a notch. Each '9'
  3092. (power-down) will take it down a notch. There are five steps (say 20%
  3093. each). The throttle display will show '103' for '100% + AB3', 105 is
  3094. full AB. The engine display will show thrust in % of mil thrust (full AB
  3095. is about 150%-160%). If you use '1' (max throttle) or '0' (idle engine)
  3096. the ab is turned off. NOTE that AB5 uses about 6 times as much fuel as
  3097. MIL for 60% extra power!
  3098.  
  3099. .P
  3100.  
  3101. Note that with the PC keyboard and the NumLock engaged, the above keys
  3102. appear in a logical order.
  3103.  
  3104. .P
  3105.  
  3106. The Classic plane is an over-simplified vehicle. It has no momentum and
  3107. no aerodynamics characteristics, it goes where you point it and is a
  3108. good way to get the hang of the controls. It will never crash either
  3109. (you can fly underground of course). But don't get too used to it, real
  3110. planes handle very differently (the Classic is more like a weightless
  3111. spaceship of an arcade-game).
  3112.  
  3113. .H 1 "The Head Up Display"
  3114. .P
  3115.  
  3116. The program displays a number of HUD styles. These are named according
  3117. to a plane type but this is just because I first saw this HUD on a video
  3118. tape dedicated to that plane. In reality each plane has a number of HUD
  3119. modes. You can change the HUD style through the hud menu regardless of
  3120. the plane type.
  3121.  
  3122. .P
  3123.  
  3124. The HUD is a piece of glass that is positioned at an angle in front of
  3125. the pilot. The pilot looks through it to see the front view from the
  3126. cockpit and at the same time a reflection of a video screen is seen
  3127. (this CRT is in the 'dashboard' facing up). The dual-image is similar to
  3128. when one looks outside through a window at night and sees a reflection
  3129. of some part of the room as well as the outside. The HUD can be
  3130. displayed by itself on one of the auxiliary HDDs (sometimes refered to
  3131. as the 'HUD repeater'), which is useful when the HUD optics is not
  3132. operational (damaged).
  3133.  
  3134. .P
  3135.  
  3136. In practice, the HUD is a flat image superimposed on the front view, and
  3137. it uses a special (usually green but you can change this) color. It does
  3138. not cover the full field-of-view.
  3139.  
  3140. .P
  3141.  
  3142. The image projected onto the HUD contains two kinds of information. One
  3143. type is data that the pilot will otherwise have to look for in some
  3144. cockpit instruments (thus taking his eye off the outside scene); this is
  3145. simply a way of putting the most important information if front of the
  3146. pilot. An example is the display of plane speed. The other kind is
  3147. information directly related to the outside image and meaningfull only
  3148. in relation to it, for example: a bounding box is displayed such that it
  3149. coincides with a visible target that the radar is locked on.
  3150.  
  3151. .P
  3152.  
  3153. The prominent features on the HUD are a number of scales which are
  3154. usually diaplayed along the edge. Sometimes the detail of the scales can
  3155. be controlled in three levels through the Hud menu (see there).
  3156.  
  3157. .P
  3158.  
  3159. The HUD symbols will relate to flight data or to auxiliary systems
  3160. (weapons, radar, fuel etc.). The data related to the flying of the plane
  3161. is described first.
  3162.  
  3163. .H 2 "Heading"
  3164. .P
  3165.  
  3166. Your compass. It will be shown as a horizontal ruler that moves as you
  3167. turn. The current heading is marked with a 'tick' or a 'V'. It can be at
  3168. the top or at the bottom of the HUD (Top option in Hud menu). North is
  3169. 360, South is 180, East is 90 and West 270. Some modes do not show the
  3170. trailing zero (270 is shown as 27) and NO, there is no support for
  3171. radians or other units...
  3172.  
  3173. .H 2 "Altitude"
  3174. .P
  3175.  
  3176. Your height above sea level, a vertical ruler at the right edge of the
  3177. HUD. It may be accompanied by a second bar (immediately to its left)
  3178. that shows your climb/fall rate. This ruler moves up and down as the
  3179. plane moves, the current altitude is to be read at the 'tick' in its
  3180. middle. High altitudes show in thousands (with a possible decimal point)
  3181. while low ones will show exact. The FA-18 style HUD shows the altitude
  3182. in a box at the right side of the HUD with the climb rate above it. Some
  3183. HUDs will show a radar-range scale adjacent to (and to the left of) the
  3184. altitude scale. This will indicate the distance to the target (the full
  3185. scale range is shown just above this scale) as a sliding tick while the
  3186. target closure speed is shown inside the tick.
  3187.  
  3188. .P
  3189.  
  3190. Climb rate is in meters (or feet) per minute!
  3191.  
  3192. .H 2 "Speed"
  3193. .P
  3194.  
  3195. Your speed is shown as a ruler at the left edge of the HUD, a tick marks
  3196. the current value. The FA-18 style HUD shows it in the left box. Some
  3197. HUDs do not show the trailing zero while others show have the scale run
  3198. from top to bottom.
  3199.  
  3200. .P
  3201.  
  3202. This information may be in meters/kmh of feet/knots (use the Hud Knots
  3203. command to toggle). The F16/FA18 default to feet/knots.
  3204.  
  3205. .H 2 "Pitch ladder"
  3206. .P
  3207.  
  3208. The orientation of the plane is displayed as a ladder, each step relates
  3209. to a different pitch. The steps are always parallel to the horizon. Each
  3210. step is marked with a number which is your pitch angle (90 degrees is
  3211. straight up, -90 is down and zero is level). The step's angle represent
  3212. the planes roll. When you are upside-down the steps are too, as you roll
  3213. the steps turn in the opposite way to follow the horizon. The
  3214. negative-pitch steps (when you are going down) are dashed while the
  3215. positive ones are solid. Small winglets at the tips of the steps point
  3216. toward the ground. The zero-pitch step is larger and is your artifical
  3217. horizon if you cannot see the real one. The FA-18 style HUD tries a bit
  3218. harder by bending the steps toward the ground: the higher your pitch the
  3219. larger the slant. It also shows a small circle at the straight up/down
  3220. directions (the down one has a cross through it).
  3221.  
  3222. .P
  3223.  
  3224. Although the pitch ladder follows the horizon (meaning the zero-step is
  3225. on the horizon) there is some freedom in where on the horizon  to show
  3226. it. Unless you disable the velocity vector (flight path) marker (see
  3227. below), the ladder will be centered on it. This means that at a high
  3228. angle of attack the pitch ladder may be out of view (as will the vv).
  3229.  
  3230. .P
  3231.  
  3232. In the case of the FA18, if the vv goes out of view then a waterline
  3233. marker will appear at the center of the HUD (it is a W marker in a fixed
  3234. position) and the ladder will shift (smoothly) toward it. Once the vv is
  3235. back in view the ladder will return to it and the waterline mark will
  3236. disappear (the transitions take about two seconds maximum). The FA18
  3237. ladder shows an extra-long zero-step while the landing gear is down.
  3238.  
  3239. .H 2 "Velocity Vector"
  3240. .P
  3241.  
  3242. A plane rarely moves straight ahead due to gravity and aerodynamic
  3243. forces. This marker (sometimes called the 'plane symbol') is a tiny
  3244. circle with wings on either side and at the top (it is a stylized shape
  3245. of a plane from behind). At any time, this marker shows you where the
  3246. plane is heading. You will most of the time use this marker as a
  3247. reference for flying the plane. The center of the view is rather useless
  3248. for flying (you can bring up a cross-hair with the 'u+' command) but can
  3249. be helpful in aiming the cannon (in the absence of the aiming reticle).
  3250.  
  3251. .P
  3252.  
  3253. The Classic plane always goes ahead, so the vv will be fixed at the center of
  3254. the HUD. By default it will not be shown for this plane.
  3255.  
  3256. .H 2 "Waterline mark"
  3257. .P
  3258.  
  3259. This is a 'W' that shows in the straight ahead point on the front view
  3260. (this is not always the physical center of the HUD). It comes on
  3261. whenever the landing gear is lowered. The FA-18 HUD shows it whenever
  3262. the Velocity Vector is outside the HUD.
  3263.  
  3264. .H 2 "Radar Symbology"
  3265. .P
  3266.  
  3267. When the radar is active, some symbols related to its operation are
  3268. displayed. The main features are the target designator box and the
  3269. aiming reticle (the Piper).
  3270.  
  3271. .H 3 "Target designator"
  3272. .P
  3273.  
  3274. This is a square that is centered on the target. If the target is not
  3275. locked then the box will have only corners. The target should be visible
  3276. inside the box, unless it is off screen. When off screen, the box has a
  3277. \'+' through it and it crawls along the HUD edge showing you the
  3278. direction where the target is. If the target is actualy behind you then
  3279. the '+' is replaced with an 'X'.
  3280.  
  3281. .H 3 "Aiming Reticle"
  3282. .P
  3283.  
  3284. If a target is close enough (within weapon range) then an aiming reticle
  3285. appears.  The reticle is a circle with 12 ticks. Each tick represent a
  3286. distance of 1000 to the target and the range is marked with a tick that
  3287. moves along the inside edge of the reticle. A tick at 11 o'clock means a
  3288. distance of 11,000 etc. You should fly the plane so that the center of
  3289. the reticle (has a dot) is on the target and then shoot (actually, the
  3290. cannon/radar computer will display 'shoot' above the reticle when you
  3291. have a good aim). If this sounds simple it is because it is a simple
  3292. procedure; the problem is that in order to get the target in the reticle
  3293. you will NOT be flying the plane directly toward it. In practice you
  3294. forget about where the plane should go and play a game of
  3295. follow-the-target with the reticle (just try and not hit the ground).
  3296.  
  3297. .P
  3298.  
  3299. The F16 will also show a 'hand' inside the circle which indicates the
  3300. direction and magnitude of the target acceleration (this one is very
  3301. jiterry at times). You can turn this hand on/off with the Hud menu "acc
  3302. vect" command.
  3303.  
  3304. .P
  3305.  
  3306. The FA18 HUD shows the closure speed outside the lower right side of the
  3307. reticle. The F15/F16 shows the same information on the radar range scale
  3308. (beside the altitude) marked with a large '>' symbol. The closure speed
  3309. measures how fast you are catching up (positive) with the target.
  3310.  
  3311. .P
  3312.  
  3313. However, in order to complicate the situation we have some variations
  3314. possible:
  3315.  
  3316. .P
  3317.  
  3318. There is an alternate piper: Ross's reticle. This is a different aiming
  3319. method altogether. A square reticle is shown with only the corners
  3320. visible. It is ahead of your target at all times on its projected
  3321. position. You have to aim the piper at the box and then shoot. With this
  3322. one you do not care where the real target is because the aiming box
  3323. replaces it. The piper will be fixed at the center of the HUD.  You may
  3324. want to turn off the target designator with 'ut'.
  3325.  
  3326. .P
  3327.  
  3328. The target designator and aiming reticle are part of the HUD display,
  3329. however you may choose to ignore this and request that these use the
  3330. full screen. Use the 'uL' command to limit these to inside the hud area
  3331. or use the whole screen.
  3332.  
  3333. .H 3 "Radar Range"
  3334. .P
  3335.  
  3336. The radar measures the distance and relative (closure) speed of the
  3337. target. The range is shown as an extra scale on the right side on the
  3338. HUD while the closure speed is shown beside the '>' mark on it. The FA18
  3339. HUD does not show this scale but shows the closure speed under the piper
  3340. with a 'Vc' mark.
  3341.  
  3342. .H 3 "Digital data"
  3343. .P
  3344.  
  3345. When a target is selected, some digital information may be displayed (it
  3346. can be disabled by the hud/radar menu). This data shows at the left
  3347. bottom corner of the HUD and has the following items:
  3348.  
  3349. .DL 5
  3350.  
  3351. .LI
  3352.  
  3353. distance to target (units or k's with one decimal)
  3354.  
  3355. .LI
  3356.  
  3357. closure speed (meters/knots)
  3358.  
  3359. .LI
  3360.  
  3361. time to meet (seconds with one decimal).
  3362.  
  3363. .LI
  3364.  
  3365. target type or pilot name
  3366.  
  3367. .LE
  3368.  
  3369. .P
  3370.  
  3371. When the target is in range the time shown is bullet time-to-impact
  3372. rather than plane flight time.
  3373.  
  3374. .P
  3375.  
  3376. If the Corner option is not selected (uC) then this data will show under
  3377. the target designator box. If the target is too close to the bottom then
  3378. the data may show above it.
  3379.  
  3380. .P
  3381.  
  3382. If you activate the Intel mode (i) then all visible targets get a box
  3383. with the following data (the MAP and RADAR diplays always have this mode):
  3384.  
  3385. .DL 5
  3386.  
  3387. .LI
  3388.  
  3389. distance to target (units or k's with one decimal)
  3390.  
  3391. .LI
  3392.  
  3393. target type or pilot name
  3394.  
  3395. .LE
  3396.  
  3397. .P
  3398.  
  3399. You can use 'un' to disable the display of the second line.
  3400.  
  3401. .P
  3402.  
  3403. .H 2 "Other Features"
  3404. .P
  3405.  
  3406. In addition to the above features, the HUD may show the following:
  3407.  
  3408. .P
  3409.  
  3410. The FA18 type HUD shows as standard, on the left low edge, the angle of
  3411. attack (aoa), the mach number and the pilot's vertical Gs. The selected
  3412. weapon (and available units) is displayed at the low center of the HUD.
  3413.  
  3414. .P
  3415.  
  3416. The F15/F16 HUD shows the aoa at the top right above the altitude scale.
  3417. The weapon selected is shown at the top of the data list ('XXX' means
  3418. none selected)
  3419.  
  3420. .H 1 "The ILS"
  3421. .P
  3422.  
  3423. The Instrument Landing System (ILS) is a system that provides enough
  3424. information about your approach to guide you to the touchdown point with
  3425. great accuracy. The system comprises two separate facilities: the
  3426. Localizer beam which tells you how well you are aligned with the runway
  3427. and the Glide Path beam which monitors your descent rate. The two
  3428. components measure your approach error and display it as two bars.
  3429.  
  3430. .P
  3431.  
  3432. The Localizer deviation bar is a vertical line that moves accross the
  3433. HUD and indicates which way of the correct line you are. If the bar is
  3434. left of center then this means that you are to the right of the
  3435. Localizer beam, so you should correct your approach to the left. When the
  3436. bar is right of center you will need to move to the right too. You are
  3437. correctly aligned when the bar is at the center. You can judge the bar's
  3438. position by noting the number of ticks along the horizontal bar. The
  3439. larger middle one is where you want to be. The bar is at full deflection
  3440. when your error is 2.5 degrees.
  3441.  
  3442. .P
  3443.  
  3444. The Glide Path deviation bar is a horizontal line that indicates where
  3445. the correct descent line is. If the line is above center then the you
  3446. should be flying higher (your descent is too rapid or you are descending
  3447. toward a point on the ground too short of the runway); you should gain
  3448. some height or reduce your descent angle. In the same way, when the line
  3449. is below HUD center you are above the correct path. The bar is at full
  3450. deflection when your error is 0.75 degrees.
  3451.  
  3452. .P
  3453.  
  3454. Note that the ILS system does not know where you are heading, it just
  3455. tells you how close you are to the correct approach path. The system
  3456. does not even know if you are coming or going! So make sure that you
  3457. approach the runway from the correct end or the ILS Localizer deviation
  3458. bar will show reverse reading and the Glide Path will direct you to land
  3459. at the far end of the runway.
  3460.  
  3461. .P
  3462.  
  3463. Real ILS systems have very narrow beams and will only operate when you
  3464. are reasonably aligned. These systems will tell you when you are out of
  3465. range. The one in Fly8 is active within a radius of about 25 kilometers
  3466. around the runway.
  3467.  
  3468. .P
  3469.  
  3470. When the ILS is operating a marker along the heading scale will direct
  3471. you to the airport; use it for the general approach but then identify
  3472. the correct runway carefully.
  3473.  
  3474. .P
  3475.  
  3476. To select the desired runway use the ILS menu and choose from the list.
  3477. There are now two airports (A is home and B is for the drones) and each
  3478. has two runways: 18 (approach at heading 180) and 27 (approach at 270).
  3479. You can turn the ILS off and it will still remember the last active
  3480. runway which will be offered when you use the command again. These ILS
  3481. aids are defined in fly.nav and you can change these. The 'H' command
  3482. option is used to designate your home runway, otherwise it is the first
  3483. one defined (the drones use the last one in the list).
  3484.  
  3485. .H 1 "Radar and targets"
  3486. .P
  3487.  
  3488. The radar in this program does NOT try to simulate a real radar. The
  3489. real thing has many types and modes of operation. This one just cheats
  3490. to get its data.
  3491.  
  3492. .P
  3493.  
  3494. When enabled ('r') the radar measures distance, direction and speed of
  3495. possible targets.
  3496.  
  3497. .P
  3498.  
  3499. In the basic mode, the radar constantly selects the closest target. This
  3500. may cause it to 'jump' between targets as they change distance. You can
  3501. put the radar in 'locked' mode ('l') which will make it stick to the
  3502. selected target. In this mode, when a target is destroyed, the nearest
  3503. target will be selected and stay locked. Use 'l' to release the lock (or
  3504. you can turn the radar off/on with 'rr').
  3505.  
  3506. .P
  3507.  
  3508. There are 3 other acquisition modes controlled by the 'f' command.
  3509.  
  3510. .VL 10 5
  3511.  
  3512. .LI 0
  3513.  
  3514. pick closest target (old way, as described above).
  3515.  
  3516. .LI 1
  3517.  
  3518. 3.3deg circle: boresight. Only targets inside the small circle are
  3519. detected.
  3520.  
  3521. .LI 2
  3522.  
  3523. 20deg circle: HUD. Any target inside the large circle (which covers most
  3524. of the HUD area) is detected.
  3525.  
  3526. .LI 3
  3527.  
  3528. 5.3deg wide by 60deg high: vertical. Targets inside the narrow band
  3529. (+-5.3 degrees wide but 60 degrees tall) are detected.
  3530.  
  3531. .LE
  3532.  
  3533. .P
  3534.  
  3535. In modes 1-3, a target is highlighted when it is within the designated
  3536. area. The limits of the modes 1-3 are drawn on the HUD.
  3537.  
  3538. .P
  3539.  
  3540. If you are in locked mode then the first detected target will
  3541. immediately be locked, otherwise you will have to hit 'l' to lock the
  3542. highlighted target. Only when a target is locked you get the aiming
  3543. reticle (if it is close enough).
  3544.  
  3545. .P
  3546.  
  3547. It should be made clear that the 'locked' mode is set/reset by you with
  3548. the 'l' command. Once engaged, there is no need to lock on targets
  3549. because the first one to qualify will immediately be locked on. If you
  3550. want then to select another target then use 'l' to release the target
  3551. and then later 'l' to lock on the new one.
  3552.  
  3553. .P
  3554.  
  3555. Once a target is locked, the selection markings disappear and the piper
  3556. shows (or if it is still far then only the target designator box shows).
  3557.  
  3558. .P
  3559.  
  3560. A target is identified with a box around it (the target designator).
  3561. When the target is out of view the box has a large '+' crossing it which
  3562. changes to a large 'X' when the target is actually behind you.
  3563.  
  3564. .P
  3565.  
  3566. If you issue Shift-C then the plane will chase the current target (there
  3567. must be one or the plane will just patrol round the runway). Use the
  3568. \'k' command to allow automatic firing ('k' works even when not in Chase
  3569. mode, and is useful if you want to practice the chase and let the
  3570. auto-pilot do the shooting).
  3571.  
  3572. .P
  3573.  
  3574. When the reticle goes off-screen it gets a '+' inside it.
  3575.  
  3576. .P
  3577.  
  3578. You can shoot at various objects. Use the 'emit' menu to create these
  3579. objects.
  3580.  
  3581. .P
  3582.  
  3583. When you hit something it gets damaged and fragments fall off. When
  3584. enough damage is done the object is officially HIT. It blinks red/white
  3585. and starts falling toward the ground. Practice targets are destroyed
  3586. immediately. These fragments are lethal and can hit any other object!
  3587. Normally you can fly through any object EXCEPT a bullet - so don't stay
  3588. behind a broken plane or you may be hit by the falling fragments.
  3589.  
  3590. .H 1 "Networking"
  3591. .P
  3592.  
  3593. As others said before, playing with oneself is fun but you don't make as
  3594. many friends (they said you'll go blind too).
  3595.  
  3596. .P
  3597.  
  3598. The program will let you play with others using a variety of
  3599. communication media. Once networked, objects are shared between the
  3600. players. The number of players is only limited by the capability of the
  3601. network medium.
  3602.  
  3603. .P
  3604.  
  3605. Below here, numeric parameter values can be given in C format, i.e. if
  3606. it starts with 0x it is hex, starts with 0 is octal, else it is decimal.
  3607.  
  3608. .H 2 msdos
  3609.  
  3610. .H 3 serial
  3611. .P
  3612.  
  3613. At the bottom of the pile is the PC to PC serial connection. Only two
  3614. players can combine in this way. You can choose two drivers for this:
  3615.  
  3616. .P
  3617.  
  3618. .ti 5
  3619. \fCdncom.N:baud:parity:bits:stop:xmode:inbuf:outbuf\fP
  3620.  
  3621. .P
  3622.  
  3623. Direct control over the com port. It can handle any speed, but slow
  3624. machines will drop charaters if you go too fast. Slow machines should
  3625. NOT use output buffering.
  3626.  
  3627. .P
  3628.  
  3629. Positional parameters:
  3630.  
  3631. .VL 15 5
  3632.  
  3633. .LI N
  3634.  
  3635. com port number: 1...4
  3636.  
  3637. .LI baud
  3638.  
  3639. the line speed, up to 115200.
  3640.  
  3641. .LI parity
  3642.  
  3643. e, o or n
  3644.  
  3645. .LI bits
  3646.  
  3647. 8
  3648.  
  3649. .LI stop
  3650.  
  3651. 1
  3652.  
  3653. .LI xmode
  3654.  
  3655. xon or xoff; do not specify!
  3656.  
  3657. .LI inbuf
  3658.  
  3659. 4000 is enough. experiment.
  3660.  
  3661. .LI outbuf
  3662.  
  3663. very little needed if at all. Very fast machines will benefit from
  3664. output buffering, slow ones will choke unless the baud rate is low. At
  3665. 115200 most machines cannot cope with output buffering. My 486/66 gets
  3666. a major speedup with output buffering at 38400.
  3667.  
  3668. .LE
  3669.  
  3670. .P
  3671.  
  3672. Other parameters can follow, the parameter name MUST BE GIVEN:
  3673.  
  3674. .VL 15 5
  3675.  
  3676. .LI irqN
  3677.  
  3678. irq number (use 4/3 as usual)
  3679.  
  3680. .LI baseNNN
  3681.  
  3682. port hardware address (use 0x3f8/0x2f8 as usual)
  3683.  
  3684. .LE
  3685.  
  3686. .P
  3687.  
  3688. Example:
  3689.  
  3690. .P
  3691.  
  3692. .ti 5
  3693. \fCdncom.2:115200:n:8:1::4000::irq3:base0x2f8\fP
  3694.  
  3695. .P
  3696.  
  3697. Note that no 'xmode' was given and no 'output buffering'.
  3698.  
  3699. .P
  3700.  
  3701. If you prefer, you can use SLIP when you have SLIP8250:
  3702.  
  3703. .P
  3704.  
  3705. .in 5
  3706.  
  3707. .nf
  3708. \fCslip8250 0x65 -h SLIP 3 0x02f8 38400 10000\fP
  3709. \fCfly8 r dnslip.1:int=0x65\fP
  3710.  
  3711. .fi
  3712. .in 0
  3713.  
  3714. .P
  3715.  
  3716. This is the same as
  3717.  
  3718. .P
  3719.  
  3720. .ti 5
  3721. \fCfly8 r dnslip.1\fP
  3722.  
  3723. .P
  3724.  
  3725. because the driver will then be searched for.
  3726.  
  3727. .P
  3728.  
  3729. Slip is not too fast, you need both machines to be at least 386DX for
  3730. full speed and even then it is touch and go. It does no output
  3731. buffering.
  3732.  
  3733. .H 3 network-based
  3734. .P
  3735.  
  3736. If you have a 'real' network then install your favourite packet driver
  3737. and do
  3738.  
  3739. .P
  3740.  
  3741. .ti 5
  3742. \fCfly8 r dnpkt.1:pack=1408\fP
  3743.  
  3744. .P
  3745.  
  3746. In this mode you can have as many players as you wish. The program talks
  3747. packet level. You can also use the EtherSlip driver to play head to head
  3748. with this driver, however direct com access is more efficient.
  3749.  
  3750. .P
  3751.  
  3752. If you are runnning a unix system with the fly8udp server on it then you
  3753. can use the msdos udp over packet driver. This will allow you to
  3754. join the other unix players. The unix server MUST be on the smae subnet
  3755. for this driver to work.
  3756.  
  3757. .ti 5
  3758. \fCfly8 r dnpcudp.1:pack=1408:ip=0xc0000203:sip=0xc0000204\fP
  3759.  
  3760. .P
  3761.  
  3762. Note how you must give your own ip (ip=) and the server ip (sip=). Your
  3763. own ip can be anything but your sysadmin must allocate it, while the
  3764. server ip is the actual ip for the host that is running the fly8udp
  3765. server.
  3766.  
  3767. .H 2 unix
  3768.  
  3769. .H 3 FIFO
  3770. .P
  3771.  
  3772. The FIFO driver will allow communication using FIFOs as well as a tty
  3773. serial line.
  3774.  
  3775. .P
  3776.  
  3777. This driver provides a head-to-head capability through FIFOs or other
  3778. similar  steam oriented facility. For one, it will allow connecting
  3779. through a serial port (or other '/dev/tty' type connections).
  3780.  
  3781. .P
  3782.  
  3783. Basically, you nominate an input file (if=) and an output file (of=) and
  3784. Fly8 will use these. For example, this is how you start a two player
  3785. head-to-head on a pair of FIFOs:
  3786.  
  3787. .P
  3788. .ti 5
  3789. \fCfly8 r N1 Tone dnfifo.1:if=ff81:of=ff82:pack L1.log\fP
  3790. .ti 5
  3791. \fCfly8 r N2 Tone dnfifo.1:if=ff82:of=ff81:pack L2.log\fP
  3792.  
  3793. .P
  3794.  
  3795. The two fifos can be created as
  3796.  
  3797. .P
  3798. .ti 5
  3799. \fCmkfifo ff81\fP
  3800.  
  3801. .P
  3802.  
  3803. or as
  3804.  
  3805. .P
  3806. .ti 5
  3807. \fC/usr/etc/mknod ff81 p\fP
  3808.  
  3809. .P
  3810.  
  3811. Note that the two programs run with different user names (N*) but share the
  3812. same team (T*). This means that they cannot fight each other. Use a
  3813. different team name for dueling.
  3814.  
  3815. .P
  3816.  
  3817. Also note that a different log file is used by each (L*). This is needed
  3818. only if both run from the same directory.
  3819.  
  3820. .P
  3821.  
  3822. To play accross a serial line, simply start this on both machines
  3823.  
  3824. .P
  3825. .ti 5
  3826. \fCfly8 r N1 Tone dnfifo.1:if=/dev/ttyS1:of=/dev/ttyS1\fP
  3827.  
  3828. .P
  3829.  
  3830. /dev/ttyS1 is the serial line connection name on this end. You will use
  3831. a different user name (and maybe team name) on the two ends too.
  3832.  
  3833. .P
  3834.  
  3835. You will first need to set the serial line up, for example:
  3836.  
  3837. .P
  3838. .ti 5
  3839. \fCstty speed 38400 raw crtscts </dev/ttyS1\fP
  3840.  
  3841. .P
  3842.  
  3843. This setup can connect to the msdos serial driver. On msdos use these
  3844. parameters:
  3845.  
  3846. .P
  3847. .ti 5
  3848. \fCfly8 r N2 Tone dncom.2:38400:n:8:1::4000:4000\fP
  3849.  
  3850. .P
  3851.  
  3852. This will use com2 (use 'com.1' for com1).
  3853.  
  3854. .H 3 UDP-level
  3855. .P
  3856.  
  3857. This driver is based on a server (fly8udp) program to which each player
  3858. connects. The server will re-distribute all messages as necessary.
  3859.  
  3860. .P
  3861.  
  3862. The order of events is as follows:
  3863.  
  3864. .P
  3865.  
  3866. Start the server:
  3867.  
  3868. .P
  3869. .ti 5
  3870. \fCfly8udp &\fP
  3871.  
  3872. .P
  3873.  
  3874. Put the host name where the server runs in the fly.ini parameter. Here
  3875. is an example for when the server is running on the local host:
  3876.  
  3877. .P
  3878. .ti 5
  3879. \fCr\fP
  3880. .ti 5
  3881. \fCdnudp.1:localhost:pack=1408\fP
  3882.  
  3883. .P
  3884.  
  3885. The 'r' will enable the Fly8 networking in general.
  3886.  
  3887. .P
  3888.  
  3889. The ':pack' option tells Fly8 to collect multiple logical packets into
  3890. one physical packet, please always use it with this driver.
  3891.  
  3892. .P
  3893.  
  3894. The above option can be put on the command line too, have a look at the
  3895. sample script 'flyudp'.
  3896.  
  3897. .P
  3898.  
  3899. Now start Fly8 as usuall. Once running, check to see who is attached to
  3900. the server with the ping request 'Esc n p' command. If someone replies
  3901. then you can connect with the play request 'Esc n y'; answer '*' (all)
  3902. to the prompt or select a specific user.
  3903.  
  3904. .P
  3905.  
  3906. Note that if you do not talk to the server for 10 seconds you will be
  3907. purged from it's table. This means that if you are the first user then
  3908. you will not be able to keep your registration, the first two players
  3909. need to connect (both) within this 10 seconds time window.
  3910.  
  3911. .P
  3912.  
  3913. To control the server use the 'udpmgr' program. Start it as
  3914.  
  3915. .P
  3916. .ti 5
  3917. \fCudpmgr localhost\fP
  3918.  
  3919. .P
  3920.  
  3921. where 'localhost' is the default host where the server is running,
  3922. subtitute the correct name otherwise. Use this command to shut the
  3923. server down:
  3924.  
  3925. .P
  3926. .ti 5
  3927. \fCshutdown\fP
  3928.  
  3929. .P
  3930.  
  3931. and use this to stop the manager itself (if it does not drop out by
  3932. itself at this point)
  3933.  
  3934. .P
  3935. .ti 5
  3936. \fCend\fP
  3937.  
  3938. .P
  3939.  
  3940. You can request the server to print it's stats with
  3941.  
  3942. .P
  3943. .ti 5
  3944. \fCstats\fP
  3945.  
  3946. .P
  3947.  
  3948. .H 2 usage
  3949. .P
  3950.  
  3951. OK, you started the program with networking. It really enjoys it but then
  3952. it is a computer. You want to enjoy it too. Here is how. The Net menu has
  3953. a set of commands for managing your connections with other players.
  3954.  
  3955. .P
  3956.  
  3957. Some of the requests in this menu will need you to identify a player. A
  3958. list of players is displayed and you should select one by entering their
  3959. name. If you Enter '*' then you will select all of them. If you Enter
  3960. \'+' then you will select all of your team members. If your response is
  3961. null then you select none. If there is only one player then it wil be
  3962. selected automatically. Otherwise, you can enter the start of the name
  3963. and team so that the first partial match will be selected.
  3964.  
  3965. .P
  3966.  
  3967. A message 'no net' means that the program was started without the net
  3968. option (or possibly all net connections are inaccessible).
  3969.  
  3970. .P
  3971.  
  3972. A message 'no player' may be displayed which means that there are no
  3973. players in the needed status (eg. you try to 'quit' but you are not
  3974. currently playing with anyone).
  3975.  
  3976. .VL 10 5
  3977.  
  3978. .LI ping
  3979. .br
  3980.  
  3981. This is a broadcast ping to all players. All other programs will respond
  3982. with their identification. Now you know who is active on the net. How do
  3983. you tell who's who? the parameter -Nxxx supplies your handle (nickname,
  3984. etc.) and you will be known by it in this game.
  3985.  
  3986. .LI play
  3987. .br
  3988.  
  3989. Request to play with another player. If there is only one then the
  3990. program will go ahead and establish connection. Otherwise you will be
  3991. prompted to select a player from a list. To have the program know who
  3992. is playing you should have used the P command first.
  3993.  
  3994. .LI quit
  3995. .br
  3996.  
  3997. Quit playing. If there are more players then you will get a list to
  3998. choose from. An empty response will assume you want to quit all players.
  3999.  
  4000. .LI message
  4001. .br
  4002.  
  4003. Send a message to a player. Right now, an echo message will also be sent
  4004. and the turnaround trip time (in milliseconds) will be shown. This time
  4005. is end-to-end including program delay.
  4006.  
  4007. .LE
  4008.  
  4009. .P
  4010.  
  4011. In addition to the above commands which you will use from time to time,
  4012. there are a number of options on this menu which you may want to set at
  4013. program startup (or wish to continue to handle manually).
  4014.  
  4015. .VL 10 5
  4016.  
  4017. .LI "accept"
  4018. .br
  4019.  
  4020. If you are in 'manual reply' mode then you will get messages about
  4021. players who want to play with you. Use this option to accept them.
  4022.  
  4023. .LI "decline"
  4024. .br
  4025.  
  4026. If you are in 'manual reply' mode then you will get messages about
  4027. players who want to play with you. Use this option to decline their
  4028. request.
  4029.  
  4030. .LI "auto accept"
  4031. .br
  4032.  
  4033. Set the game to always accepy playing requests.
  4034.  
  4035. .LI "auto delcine"
  4036. .br
  4037.  
  4038. Set the game to always decline playing requests.
  4039.  
  4040. .LI "manual reply"
  4041. .br
  4042.  
  4043. Set the program to ask you to accept/decline playing requests.
  4044.  
  4045. .LI "auto connect"
  4046. .br
  4047.  
  4048. This option will attempt to connect to all net players continuously. It will
  4049. also accept all play requests automatically. If you plan to use any
  4050. communication then it is a good idea to always enable this option - just
  4051. add it to the startup macro in fly.max.
  4052.  
  4053. .LE
  4054.  
  4055. .P
  4056.  
  4057. When you exit the program it will automatically quit all players and
  4058. notify the net of your exit.
  4059.  
  4060. .P
  4061.  
  4062. If long delays are observed then a player may be automatically timed
  4063. out. You will see messages about this. Use 'play' to re-establish
  4064. contact. Proper use of 'quit' and 'play' will let you pop out of sight
  4065. in danger and re-join in a more favourable position :-)
  4066.  
  4067. .P
  4068.  
  4069. .in 5
  4070. .ll -5
  4071.  
  4072. IMPORTANT NOTE: the comms at this point is one-on-one. If you connect to
  4073. three other players then they all show in your world and you show in
  4074. their but they do not know of each other unless they establish
  4075. connections too. If a group plays and each one joins with a global
  4076. \'play' then everyone will know about everyone else.
  4077.  
  4078. .in 0
  4079. .ll +5
  4080.  
  4081. .P
  4082.  
  4083. There is a need for proper 'game' management (co-ordination), now
  4084. completely lacking.
  4085.  
  4086. .H 1 Files
  4087.  
  4088. .H 2 fly.ini
  4089. .P
  4090.  
  4091. This file serves as an extension to the command line options.
  4092. The command-line option 'I' can set a user selected file name, this
  4093. option MUST be on the command line.
  4094.  
  4095. .P
  4096.  
  4097. Fly8 acquires parameters from three sources:
  4098.  
  4099. .P
  4100.  
  4101. .VL 10 5
  4102.  
  4103. .LI "The ini file"
  4104. .br
  4105.  
  4106. One parameter per line. Leading blanks are skipped, then first blank
  4107. terminates the parameter. '#' denotes a comment line.
  4108.  
  4109. .P
  4110.  
  4111. The file is searched for in the current directory, then in your home directory
  4112. (using the HOME variable) then in each directory along your PATH.
  4113.  
  4114. .LI "The environment variable FLY8"
  4115. .br
  4116.  
  4117. Parameters are separated by a semicolon.
  4118.  
  4119. .LI "The command line options"
  4120. .br
  4121.  
  4122. The usual rules apply, but the traditional '-' is NOT required.
  4123.  
  4124. .LE
  4125.  
  4126. These sources are processed in the above order and later parameters
  4127. override earlier ones. The parameters consist of one letter followed by
  4128. a value. Some options are grouped, and then two letters identify the
  4129. parameter.
  4130.  
  4131. .P
  4132.  
  4133. Numeric values are expected as hex (0x*) octal (0*) or decimal (otherwise).
  4134.  
  4135. .P
  4136.  
  4137. .VL 10 5
  4138.  
  4139. .LI FFilesPath
  4140. .br
  4141.  
  4142. Path where all files are to be found. Should be used only on the
  4143. command line.
  4144.  
  4145. .LI IIniFile
  4146. .br
  4147.  
  4148. Specified the name of an init file.
  4149. The default is 'fly.ini'. The file is searched for in the current 
  4150. directory, then in the home dir (uses HOME env. var.) then the
  4151. PATH directories are checked. Only the first file found is used.
  4152. Should be used onlye on the command line.
  4153.  
  4154. .LI MMacroFile
  4155. .br
  4156.  
  4157. Name of keyboard macros file. [default is 'fly']
  4158.  
  4159. .LI XNavFile
  4160. .br
  4161.  
  4162. Name of nav data file. [default is 'fly']
  4163.  
  4164. .LI YLandFile
  4165. .br
  4166.  
  4167. Name of landscape file. [default is 'fly']
  4168.  
  4169. .LI dpPointerDriver
  4170. .br
  4171.  
  4172. The pointing device can be one of: keypad, mouse, astick, bstick. But each
  4173. version of fly8 has different ones.
  4174.  
  4175. .P
  4176.  
  4177. All pointers MUST have as the first option the following 4 characters:
  4178.  
  4179. .P
  4180.  
  4181. 1 [+-] set 1st channel direction
  4182.  
  4183. .P
  4184.  
  4185. 2 [xy] set 1st channel function (see below)
  4186.  
  4187. .P
  4188.  
  4189. 3 [+-] set 2nd channel direction
  4190.  
  4191. .P
  4192.  
  4193. 4 [xy] set 2nd channel function (see below)
  4194.  
  4195. .P
  4196.  
  4197. Example of pointer parameters:
  4198.  
  4199. .P
  4200.  
  4201. dpMouse:+y-x:
  4202.  
  4203. .P
  4204.  
  4205. This means "the first mouse axis should be interpreted as the fly8 Y axis
  4206. while the second should be treated as the X axis and is inverted (the '-').
  4207. This unusual setting may be used if your mouse is actually a trackball which
  4208. you are using sideways (axes reversed).
  4209.  
  4210. .P
  4211.  
  4212. The Fly8 X axis controlls the roll while the Y axis controls the pitch. The
  4213. standard option is '+x+y'.
  4214.  
  4215. .P
  4216.  
  4217. Each pointing device can have more parameters. When a list of buttons is
  4218. expected you can use a simple list or include ranges, for example
  4219. ":a=1-4" will make buttons 1, 2, 3 and 4 sensitive to the Btn-Alt mode.
  4220. If the '-' is at the start then a '0' is assumes before it while at the
  4221. end a 'z' is assumed. This means that ":a=-" will set all of the
  4222. buttons.
  4223.  
  4224. .VL 10 5
  4225.  
  4226. .LI "common options"
  4227. .br
  4228.  
  4229. .VL 5 0
  4230.  
  4231. .LI d=
  4232. .br
  4233.  
  4234. Do not debounce these buttons - make them repeating. Example 'd=0'
  4235. will cause button 0 to repeat its associated command while pressed.
  4236.  
  4237. .LI r=
  4238. .br
  4239.  
  4240. Do NOT issue key release command for these buttons. Example 'r=13'
  4241. will disable issuing key-release on buttons 1 and 3.
  4242.  
  4243. .LI a=
  4244. .LI c=
  4245. .LI p=
  4246. .LI s=
  4247. .br
  4248.  
  4249. Set the buttons to respondto Alt, Ctrl, Special and SHift modes
  4250. respectively.
  4251.  
  4252. .LI linear
  4253. .br
  4254.  
  4255. The 'x' and 'y' inputs will be interpreted as a linear scale. The
  4256. default is to apply a log scale such that the sensitivity of the stick
  4257. increases as you move away from the reference point (center).
  4258.  
  4259. .LE
  4260.  
  4261. .LI keypad
  4262. .br
  4263.  
  4264. (No optional parameters are defined)
  4265.  
  4266. .LI mouse
  4267. .br
  4268.  
  4269. .VL 5 0
  4270.  
  4271. .LI sx=
  4272. .br
  4273.  
  4274. Sets the sensitivity of the mouse x axis.
  4275.  
  4276. .LI sy=
  4277. .br
  4278.  
  4279. Sets the sensitivity of the mouse y axis.
  4280.  
  4281. .LE
  4282.  
  4283. .LI stick
  4284.  
  4285. .VL 5 0
  4286.  
  4287. .LI ian=
  4288. .br
  4289.  
  4290. The size (in % of active range) of the region where the reading
  4291. may be unstable. This 'idle' parameter nominates the area around the
  4292. center of the joystick and the edges of it (and of the throttle) where
  4293. the reading will be treated as it is was still at the center (or the
  4294. edge).
  4295.  
  4296. .P
  4297.  
  4298. The 'an' above nominate the axis and stick number as: ix1= main stick x,
  4299. iy1= main stick y, ix2= 2nd stick x, iy2= 2nd stick y. y2 is used for
  4300. throttle (CH, WCS) or hat (FCS in analog hat mode).
  4301.  
  4302. .LI hat
  4303. .br
  4304.  
  4305. Use y2 as the FCS hat. The positions are called buttons 4 (up),
  4306. 5(right), 6(down) & 7(left). Do not use this option for the CHPro, see
  4307. the special 'chpro' option later.
  4308.  
  4309. .LI ttl
  4310. .br
  4311.  
  4312. Use y2 as throttle. if you use ":ttl-" then the throttle will be read
  4313. such that full-range is zero-throttle and zero-range is full-throttle
  4314. (which is how the CH and WCS do it).
  4315.  
  4316. .LI zero
  4317. .br
  4318.  
  4319. Read no buttons. This is used when the buttons are delivered through the
  4320. keyboard using a WCS or FLCS.
  4321.  
  4322. .LI four
  4323. .br
  4324.  
  4325. Read all 4 buttons. These are called 0,1,2 & 3. Do not use this option
  4326. for the CHPro, see the special 'chpro' option later.
  4327.  
  4328. .LI chpro
  4329. .br
  4330.  
  4331. Used to indicate that you are using a CH Pro Flightstick which has four
  4332. buttons and a hat and has a different encoding scheme than the TM FCS.
  4333.  
  4334. .LI rd=
  4335. .br
  4336.  
  4337. Read the joystick this many times instead of once. See also next option.
  4338.  
  4339. .LI dly=
  4340. .br
  4341.  
  4342. Wait some time between multiple reads. The last two options are usefull
  4343. if there is a lot of interruptions (network, multiuser system etc.). The
  4344. delay may be necessary if doing multiple reads since some joystick ports
  4345. are slow to reset.
  4346.  
  4347. .LI count
  4348. .br
  4349.  
  4350. Do not use the timer when reading the stick, just run a loop counter.
  4351. Usefull if your machine/joystick-card combination is so fast that the
  4352. timer does not have enough resolution. This method is however more
  4353. sensitive to interruptions, use 'rd=' and 'dly=' to overcome these.
  4354. Also, under mswin the timer may not function properly.
  4355.  
  4356. .LI game
  4357. .br
  4358.  
  4359. Do not use the <joystick.h> device but use the <game.h> device driver.
  4360.  
  4361. .LI gp
  4362. .br
  4363.  
  4364. Use the serial line /dev/gp0 to read a Colorado Spectrum Gameport
  4365. (Workstation) joystick port.
  4366.  
  4367. .LE
  4368.  
  4369. .LE
  4370.  
  4371. .LI dvVideoDriver
  4372. .br
  4373.  
  4374. The software video driver. These vary between machines.
  4375.  
  4376. .BL 5
  4377.  
  4378. .LI
  4379.  
  4380. MSDOS:    grQc (default), grFast or grVESA (VESA/VBE). There may be a
  4381. grbgi if compiled with borland but it is too slow.
  4382.  
  4383. .LI
  4384.  
  4385. DjGpp:    grAsm (using fast assembly level graphics), grDJ (using
  4386. distribution DjGpp graphics library).
  4387.  
  4388. .LI
  4389.  
  4390. MSWIN:    grGDI, grBitBlt, grWinG
  4391.  
  4392. .LI
  4393.  
  4394. UNIX:    grx (PixMap based), gri (Image based) or grSVGA (svgalib).
  4395.  
  4396. .LI
  4397.  
  4398. AMIGA:    gramiga [amiga port not available!]
  4399.  
  4400. .LE
  4401.  
  4402. .LI dnNetDriver
  4403. .br
  4404.  
  4405. Network access through driver 'NetPort'. Only msdos/unix have network
  4406. drivers at the moment. Look earlier at the networking section.
  4407.  
  4408. .LI dkKeyboardDriver
  4409. .br
  4410.  
  4411. Keyboard device name. Usually there is only one defined so leave
  4412. this parameter out.
  4413.  
  4414. .LI dsSoundDriver
  4415. .br
  4416.  
  4417. Sound device name. Usually there is only one defined so leave this
  4418. parameter out.
  4419.  
  4420. .LI PPlaneType
  4421. .LI DDroneType
  4422. .br
  4423.  
  4424. The plane and drone type. If absent then drone type defaults to
  4425. plane type. Current types are: classic, basic, f16.
  4426.  
  4427. .LI VVideoModesFile
  4428. .br
  4429.  
  4430. The video modes file to use, e.g. 'Vgrvesa' means to use the file
  4431. \'grvesa.vmd'. [default is 'fly.vmd']
  4432.  
  4433. .LI mVideoMode
  4434. .br
  4435.  
  4436. The video mode. This is one of the modes defined in the .vmd file you
  4437. use.
  4438.  
  4439. .LI iString
  4440. .br
  4441.  
  4442. Initialization keystrokes. The string is a list of macros to execute at
  4443. startup. The default is Ctrl-A. The string 'iCaezAb' will execute, in
  4444. order: Ctrl-a Ctrl-e Ctrl-z Alt-b. Only Ctrl- and Alt- type macros can
  4445. be used here. Macros are defined in the *.max file.
  4446.  
  4447. .LI bn
  4448. .br
  4449.  
  4450. Windows configuration. The 'n' is the same letter as used on the 'Windows'
  4451. menu.
  4452.  
  4453. .LI r
  4454. .br
  4455.  
  4456. Activate network playing (used to be 'support Remote players').
  4457.  
  4458. .LI NHandle
  4459. .br
  4460.  
  4461. You will be known as 'Handle'.
  4462.  
  4463. .LI TTeam
  4464. .br
  4465.  
  4466. Your team's name.
  4467.  
  4468. .LI HHome
  4469. .br
  4470.  
  4471. Your home runway name (selected from fly.nav file).
  4472.  
  4473. .LI o
  4474. .br
  4475.  
  4476. This is used to prefix a list of options (separately described as 'oq'
  4477. etc. later). You can embed '-', '+' and '^' to set, clear or toggle an
  4478. option respectively. For example "o-qv+l" will turn off sound and
  4479. verbose, and turn on landscape.
  4480.  
  4481. .LI oq
  4482. .br
  4483.  
  4484. No sound
  4485.  
  4486. .LI ol
  4487. .br
  4488.  
  4489. Add some landscaping (very rudimentary).
  4490.  
  4491. .LI ov
  4492. .br
  4493.  
  4494. See Options.Verbose in the menus chapter.
  4495.  
  4496. .LI zNDrones
  4497. .br
  4498.  
  4499. Screen-blanker mode (with 'NDRONES' drones). You are put insto
  4500. auto-pilot auto-kill mode, window borders are not shown.
  4501.  
  4502. .LI ntTimeLimit
  4503. .br
  4504.  
  4505. Time limit in seconds (use in batch demos).
  4506.  
  4507. .LI nbLineBufferSize
  4508. .br
  4509.  
  4510. Max num of segments in the display list. Default 5000. Used to reduce
  4511. memory shortage on msdos. Should be set to higher in environments that
  4512. have no stupid memory limitations.
  4513.  
  4514. .LI niMilliSecs
  4515. .br
  4516.  
  4517. Max time for single step plane dynamics. Used to reduce simulation
  4518. errors by breaking long periods into a sequence of shorter ones.
  4519.  
  4520. .LI nmMacros
  4521. .br
  4522.  
  4523. Max number of keyboard macros
  4524.  
  4525. .LI cColor
  4526. .br
  4527.  
  4528. Sets any one of the color definition. The color name is the same as used
  4529. on the color menu. The value is as RGB, each componnent is 8 bits.
  4530. Example: ch0x60c060 set hud-low ('h') color to light green (R=60, G=c0
  4531. B=60, all in hex).
  4532.  
  4533. .LE
  4534.  
  4535. .H 2 fly.log
  4536. .P
  4537.  
  4538. This file logs the activity of the program, problem messages and final
  4539. stats. The command-line option -L can set a user selected file name.
  4540.  
  4541. .H 2 fly.mac
  4542. .P
  4543.  
  4544. This file is read at program startup and written at program shutdown.
  4545. It is the list of keyboard macros. Use the 'mac2max' program to list the
  4546. contents of this file. At the moment there is no macro editor so you should
  4547. use the redefine-macro for updating. The command-line option -M can set a
  4548. user selected file name. It is easier to maintain the fly.max (see
  4549. later) manually, the fly.mac file may be removed in the future.
  4550.  
  4551. .H 2 fly.max
  4552. .P
  4553.  
  4554. This file is read on program startup and defined keyboard macros. If it
  4555. does not exist then fly.mac is read, if there is none then no macros are
  4556. defined (at this point). During shutdown all keyboard macros are written
  4557. to fly.mac (will OVERWRITE the original!).
  4558.  
  4559. .P
  4560.  
  4561. fly.max is a text file while fly.mac is a binary format.
  4562.  
  4563. .P
  4564.  
  4565. It used to be that you could only define macros at run time using the F7
  4566. facility. However, now you will probably edit fly.max instead. However,
  4567. if you do add new macros interactively then you can use:
  4568.  
  4569. .ti 5
  4570.  
  4571. \fCmac2max fly.mac >new.max\fP
  4572.  
  4573. .P
  4574.  
  4575. and now with an editor copy from new.max what you want into fly.max. If
  4576. you run the program again then fly.mac will be overwritten with the
  4577. content of fly.max.
  4578.  
  4579. .P
  4580.  
  4581. If you find yourself running fly8 and forgot to save the fly.mac (into
  4582. fly.max) then shell out (with the ! command) and make a copy of fly.mac.
  4583. The shell only works if you have enough memory. If the screen goes blank
  4584. on shell then assume that it worked and type (blind) something like:
  4585.  
  4586. .ti 5
  4587. \fCcopy fly.mac xxx\fP
  4588.  
  4589. .ti 5
  4590. \fCexit\fP
  4591.  
  4592. .P
  4593.  
  4594. and the program will resume. Good luck.
  4595.  
  4596. .P
  4597.  
  4598. fly.max is a list of key definitions. Each definition starts with the
  4599. Def keyword and is followed by the key being defined and a list of
  4600. keystrokes (the macro itself).
  4601.  
  4602. .P
  4603.  
  4604. Things can continue on multiple lines. A # will cause the rest of a
  4605. line to be ignored.
  4606.  
  4607. .P
  4608.  
  4609. A key name is a list of shifts followed by a key name. The recognized
  4610. shifts are:
  4611.  
  4612. .P
  4613.  
  4614. .VL 10 5
  4615.  
  4616. .LI Shift
  4617.  
  4618. .LI Ctrl
  4619.  
  4620. .LI Alt
  4621.  
  4622. .LI Btn
  4623. .br
  4624.  
  4625. Button press. This is the usual button definition.
  4626.  
  4627. .LI Brl
  4628. .br
  4629.  
  4630. Button release. Will only be effective if the button was defined to
  4631. report key releases (the default, but see ":r=" in pointer parameters).
  4632.  
  4633. .LE
  4634.  
  4635. .P
  4636.  
  4637. A key name is either a single character (which represents itself and IS
  4638. CASE SENSITIVE) or one of the special names (not case sensitive):
  4639.  
  4640. .VL 10 5
  4641.  
  4642. .LI F1
  4643.  
  4644. .LI F2
  4645.  
  4646. .LI F3
  4647.  
  4648. .LI F4
  4649.  
  4650. .LI F5
  4651.  
  4652. .LI F6
  4653.  
  4654. .LI F7
  4655.  
  4656. .LI F8
  4657.  
  4658. .LI F9
  4659.  
  4660. .LI F10
  4661.  
  4662. .LI F11
  4663.  
  4664. .LI F12
  4665.  
  4666. .LI Left
  4667.  
  4668. .LI Right
  4669.  
  4670. .LI Up
  4671.  
  4672. .LI Dn
  4673. .br
  4674.  
  4675. alias Down
  4676.  
  4677. .LI PgUp
  4678. .br
  4679.  
  4680. alias PageUp
  4681.  
  4682. .LI PgDn
  4683. .br
  4684.  
  4685. alias PageDown
  4686.  
  4687. .LI Home
  4688.  
  4689. .LI End
  4690.  
  4691. .LI Ins
  4692. .br
  4693.  
  4694. alias Insert
  4695.  
  4696. .LI Ctr
  4697. .br
  4698.  
  4699. alias Center. Unshifted numeric keypad 5 key.
  4700.  
  4701. .LI Del
  4702. .br
  4703.  
  4704. alias Delete
  4705.  
  4706. .LI Sp
  4707. .br
  4708.  
  4709. alias Space
  4710.  
  4711. .LI Bell
  4712. .br
  4713.  
  4714. alias \\a
  4715.  
  4716. .LI Bs
  4717. .br
  4718.  
  4719. alias Ro, Rubout, \\b
  4720.  
  4721. .LI Esc
  4722. .br
  4723.  
  4724. alias \\e
  4725.  
  4726. .LI Ff
  4727. .br
  4728.  
  4729. alias \\f
  4730.  
  4731. .LI Enter
  4732. .br
  4733.  
  4734. alias Ent, Cr, Ret, \\n
  4735.  
  4736. .LI Nl
  4737. .br
  4738.  
  4739. alias \\r
  4740.  
  4741. .LI Tab
  4742. .br
  4743.  
  4744. alias \\t
  4745.  
  4746. .LI Vt
  4747. .br
  4748.  
  4749. alias \\v
  4750.  
  4751. .LI \\\\\\\\\\\\\\\\
  4752. .br
  4753.  
  4754. A single '\\'
  4755.  
  4756. .LE
  4757.  
  4758. .P
  4759.  
  4760. Note that some keys have both a long and a short name and some have an
  4761. escape form too.
  4762.  
  4763. .P
  4764.  
  4765. You can use string notation:
  4766.  
  4767. .P
  4768.  
  4769. .ti 5
  4770. \fCDef Alt g "\\esph=\\e40c080\\n\\e\\e" # set HUD to green\fP
  4771.  
  4772. .ti 5
  4773. \fCDef Alt y "\\esph=\\e808000\\n\\e\\e" # set HUD to yellow\fP
  4774.  
  4775. .P
  4776.  
  4777. strings can continue on the next line.
  4778.  
  4779. .P
  4780.  
  4781. Buttons are named 0-9 and a-z. The usual drivers will assign them in the
  4782. following manner (use wcs.adv and flcs.b50 to configue these devices).
  4783.  
  4784. .VL 10 5
  4785.  
  4786. .LI 0
  4787. .br
  4788.  
  4789. trigger, mouse right button (FLCS TG2).
  4790.  
  4791. .LI 1
  4792. .br
  4793.  
  4794. other button on a two button pointer (FLCS S2).
  4795.  
  4796. .LI 2,3
  4797. .br
  4798.  
  4799. rest of buttons on a 4 button joystick (FLCS S1 and S3).
  4800.  
  4801. .LI 4,5,6,7
  4802. .br
  4803.  
  4804. main hat positions: up, right, down, left.
  4805.  
  4806. .LI 8
  4807. .br
  4808.  
  4809. FLCS TG1 (partial trigger) button.
  4810.  
  4811. .LI 9
  4812. .br
  4813.  
  4814. FLCS red paddle (S4) button.
  4815.  
  4816. .LI a,b,c,d,e,f
  4817. .br
  4818.  
  4819. WCS bottons 1, 2, 3, 4, 5 and 6.
  4820.  
  4821. .LI g,h
  4822. .br
  4823.  
  4824. WCS rocker up and rocker down.
  4825.  
  4826. .LI i,j,k,l
  4827. .br
  4828.  
  4829. FLCS hat 2 up, right, down, left,
  4830.  
  4831. .LI m,n,o,p
  4832. .br
  4833.  
  4834. FLCS hat 3 up, right, down, left,
  4835.  
  4836. .LI q,r,s,t
  4837. .br
  4838.  
  4839. FLCS hat 4 up, right, down, left,
  4840.  
  4841. .LE
  4842.  
  4843. .P
  4844.  
  4845. Note that these names depend on the pointer driver that you use. The
  4846. mouse uses only 0 (left) and 1(right).
  4847.  
  4848. .H 2 fly.nav
  4849. .P
  4850.  
  4851. Lists the navigation waypoints which have ILS beacons. Should really be
  4852. merged with the landscape file. Maybe one day. It is created from the
  4853. fly.nac file using an awk script (in the 'parms' directory).
  4854.  
  4855. .P
  4856.  
  4857. This is a very basic file that nominates the navigation points. Fly8 is
  4858. not strong in this area, however you can activate the ILS system which
  4859. will use one of these beacons.
  4860.  
  4861. .P
  4862.  
  4863. The file structure is as follows:
  4864.  
  4865. .P
  4866.  
  4867. First you nominate the number of points you are defining (I know, I am
  4868. lazy).
  4869.  
  4870. .P
  4871.  
  4872. Next come the beacon information:
  4873.  
  4874. .P
  4875.  
  4876. .ft C
  4877. .ti 4
  4878. "A18",
  4879. .ti 6
  4880. V(0), V(0), V(0),    /* [x,y,z] meters */
  4881. .ti 6
  4882. 149*60+10, -(35*60+20),    /* longitude, latitude minutes */
  4883. .ti 6
  4884. 0, -500,         /* localizer relative [x,y] meters */
  4885. .ti 6
  4886. 0, 1500,        /* glide-path relative [x,y] meters */
  4887. .ti 6
  4888. 0,            /* heading of forward beam angle */
  4889. .ti 6
  4890. D(3),            /* pitch of beam angle */
  4891. .ft P
  4892.  
  4893. .P
  4894.  
  4895. The name is whatever you call it (not case sensitive). The position is
  4896. like in the object positioning in the .lnc file. The long/lat data
  4897. allows the program to track your position, it is NOT checked against the
  4898. previous line!
  4899.  
  4900. .P
  4901.  
  4902. The next line specifies the localizer position (assumed to be level with
  4903. the object) as [east, north] and then the same for the glide slope
  4904. origin point. These points are where the transmitting antenna is
  4905. located.
  4906.  
  4907. .P
  4908.  
  4909. The next line gives the heading of the localizer beam (0 means north),
  4910. and the next is the glide slope angle (3 means 3 degrees slope).
  4911.  
  4912. .P
  4913.  
  4914. An empty name must close the list.
  4915.  
  4916. .H 2 fly.lnd
  4917. .P
  4918.  
  4919. Defines the contents of the landscape. It is created from the fly.lnc
  4920. file using the C pre-processor and an awk script.
  4921.  
  4922. .P
  4923.  
  4924. It is mechanically built from fly.lnc. It describes the contents of the
  4925. landscape.
  4926.  
  4927. .P
  4928.  
  4929. This file is a list of objects and their placement. You can place the
  4930. standard objects (defined in separate .vxx files) as well as define new
  4931. objects. The new objects will not be animated are are used for the fixed
  4932. landscape.
  4933.  
  4934. .P
  4935.  
  4936. And object placement has the following format:
  4937.  
  4938. .P
  4939.  
  4940. .ft C
  4941. .ti 4
  4942. O_RUNWAY, CC_DEFAULT,    /* runway A */
  4943. .ti 6
  4944. V(0), V(0), V(0),    /* position x, y, z */
  4945. .ti 6
  4946. D(0), D(0), D(0),    /* heading, roll, pitch */
  4947. .ft P
  4948.  
  4949. .P
  4950.  
  4951. The first line names the object and assigns a color. CC_DEFAULT will let
  4952. the object keep it's standard color.
  4953.  
  4954. .P
  4955.  
  4956. The second line gives the objects position as x (east) y (north) and z
  4957. (up) in meters (you can use fractions).
  4958.  
  4959. .P
  4960.  
  4961. The third line gives the objects orientation in terms of heading (north
  4962. is zero) roll (zero means level, 90 means a quarter turn right and 180
  4963. means upside-down) and pitch (zero means level, 90 mens straight up
  4964. while -90 is straight down).
  4965.  
  4966. .P
  4967.  
  4968. To define a local object use the format:
  4969.  
  4970. .P
  4971.  
  4972. .ft C
  4973. .ti 4
  4974. O_DEFINE+1, V_METERS,    /* river */
  4975. .ti 6
  4976. 6,
  4977. .ti 6
  4978. V(-4000), V(-2000), V(0), V_MOVE,
  4979. .ti 6
  4980.  ...
  4981. .ft P
  4982.  
  4983. .P
  4984.  
  4985. The first line is the object name (each object is defined once and is
  4986. assigned a number, this one is '1') and the data resolution: V_METERS
  4987. means that the data is to be kept in meters (no fractions) while V_FINE
  4988. means that internal data representation is in 1/16 of a meter.
  4989.  
  4990. .P
  4991.  
  4992. Next you nominate the number of vertices (must me right!)  and following
  4993. are the vertices. Each is an (x, y, z) trio and an indication as to the
  4994. visibility of that vertex.
  4995.  
  4996. .P
  4997.  
  4998. To place a local object use a name of the format O_LOCAL+1 (for the
  4999. object in the above example).
  5000.  
  5001. .H 2 *.vxx
  5002. .P
  5003.  
  5004. This file can mechanically built from *.vx. It defines the shape of an
  5005. object.
  5006.  
  5007. .P
  5008.  
  5009. The .vxx file is a simple list of numbers. The first line gives the
  5010. number of vertices in the object and nominates the resolution of the
  5011. following data: 2 means 1=1meter while '1' means 1=1/16meter.
  5012.  
  5013. .P
  5014.  
  5015. The data is a list of (x, y, z) points followed by 1 (line not visible)
  5016. or 2 (line visible).
  5017.  
  5018. .P
  5019.  
  5020. No punctuation marks are used on this file and data cannot be moved from
  5021. the nominated lines (2 numbers of the first line and 4 on the rest).
  5022.  
  5023. .P
  5024.  
  5025. This file can be built from a more flexible file (usually stored as
  5026. a .vx) which is then processd by the C preprocessor an an expression
  5027. evaluator which builds the .vxx file.
  5028.  
  5029. .P
  5030.  
  5031. Some of the .vx files look line C initializers - this is because objects
  5032. used to be internal definitions. There is no point in making this any
  5033. nicer since the whole object representation will at some stage be
  5034. completely upgraded to a full polygon based structure.
  5035.  
  5036. .H 2 *.prm
  5037. .P
  5038.  
  5039. These files define the various aircraft parameters. Different parameters
  5040. are used by different flight models, but if you modify a parameter file
  5041. it is best to set ALL parameters so that all model will work.
  5042.  
  5043. .P
  5044.  
  5045. The file that you create is the *.prc, which is then processed into a
  5046. *.prm file (which is then read by fly8). The fly8 options 'P' and 'D'
  5047. select which parameter file will be read (so 'fly8 Pf16' will read the
  5048. \'f16.prm' file).
  5049.  
  5050. .P
  5051.  
  5052. The *.prc file has short comments against each line which should give
  5053. some idea about each value. Note that the data is explicily integer.
  5054. This means that fractions are kept as fixed point. Also, other data
  5055. (line angles and lengths) have a fraction part; however, you should not
  5056. worry about this, just make sure that you specify the data using the
  5057. correct format. If you see a drag coefficient specified as F(0.02) then
  5058. keep using the F() format - this will convert the fraction to the fly8
  5059. representation. Following are the types recognized (look at 'parms.h'
  5060. for the definitions if you wish):
  5061.  
  5062. .P
  5063.  
  5064. .VL 10 5
  5065.  
  5066. .LI F(x)
  5067. .br
  5068.  
  5069. Stores x as a fraction. x should be kept in the range -1.0 to 1.0.
  5070.  
  5071. .LI F10(x)
  5072. .br
  5073.  
  5074. Stores x as a scaled fraction. x should be kept in the range -10.0 to
  5075. 10.0.
  5076.  
  5077. .LI V(x)
  5078. .br
  5079.  
  5080. Length representation. Will be stores as meters with four binary
  5081. fraction bits (just over 6cm).
  5082.  
  5083. .LI VV(x) 
  5084. .br
  5085.  
  5086. Special format for high resolution lengths. x should be kept to a
  5087. reasonably small value (-128.0 to 128.0) but the resolution is to 8 bits
  5088. (about 4mm). This is used in giving delicate landing gear dimentions.
  5089.  
  5090. .LI G
  5091. .br
  5092.  
  5093. Constant of gravity (9.810). Useful for defining forces.
  5094.  
  5095. .LI D(x)
  5096. .br
  5097.  
  5098. Stores x degrees in fly8 format.
  5099.  
  5100. .LI DV(x)
  5101. .br
  5102.  
  5103. Stores x degrees/sec in fly8 format.
  5104.  
  5105. .LI I10(x)
  5106. .br
  5107.  
  5108. Stores a large integer with -1 decimal point (that means that a weight
  5109. of 12876 is stores as '1287').
  5110.  
  5111. .LE
  5112.  
  5113. In all of the above 'x' can be any number (integer or floating point) or
  5114. any expression of these. The expression evaluator understand most of the
  5115. standard C operators. Also, you can use the C preprocessor syntax in
  5116. this file since it is being run through it anyway.
  5117.  
  5118. .P
  5119.  
  5120. Note that fly8 expects the parameters in the correct format so never
  5121. change the format notation in the *.prc file, just change the values.
  5122.  
  5123. .P
  5124.  
  5125. The most important parameter is the first item in the '10 options' list
  5126. (towards the end), it selects the flight model program.
  5127.  
  5128. .P
  5129. .ti 15
  5130. [much more stuff needed here]
  5131.  
  5132. .H 2 fly.vmd
  5133. .P
  5134.  
  5135. This file defines the parameters for the available video modes. In windowed
  5136. environments this is the startup mode and you can then resize the window.
  5137. The command-line option V can set a user selected file name. The readme
  5138. should itemize the available mode files for the different environments.
  5139.  
  5140. .P
  5141.  
  5142. The file is a list of mode lines. Each line has the following format:
  5143.  
  5144. .VL 10 5
  5145.  
  5146. .LI name
  5147. .br
  5148.  
  5149. The name of mode, any string (should be unique in this file).
  5150.  
  5151. .LI "int10 value"
  5152. .br
  5153.  
  5154. For pc/grfast: the supplied text files should have enough info to set
  5155. these up for the supported cards.
  5156.  
  5157. .P
  5158.  
  5159. For pc/grqc: this number is the c library id for the mode.
  5160.  
  5161. .P
  5162.  
  5163. Not used on other platforms.
  5164.  
  5165. .LI "number of colors"
  5166. .br
  5167.  
  5168. Must be 256 on pc/vga.
  5169.  
  5170. .LI "min x"
  5171. .br
  5172.  
  5173. The physical offset of the left margine of the screen. 0 on pc/vga.
  5174.  
  5175. .LI "min y"
  5176. .br
  5177.  
  5178. The physical offset of the top margine of the screen. 0 on pc/vga.
  5179.  
  5180. .LI "size x"
  5181. .br
  5182.  
  5183. Screen width in pixels
  5184.  
  5185. .LI "size y"
  5186. .br
  5187.  
  5188. Screen height in pixels
  5189.  
  5190. .LI "number of pages"
  5191. .br
  5192.  
  5193. How many full pages (WxH) will fit in your memory. Fly8 may use 2
  5194. for double buffering.
  5195.  
  5196. .LI "physical screen width"
  5197. .br
  5198.  
  5199. Actual screen measurment (e.g. millimeters) for aspect ratio adjustment.
  5200.  
  5201. .LI "physical screen height"
  5202. .br
  5203.  
  5204. Actual screen measurment (e.g. millimeters) for aspect ratio adjustment.
  5205.  
  5206. .LI "font width"
  5207. .br
  5208.  
  5209. 8 (obsolete)
  5210.  
  5211. .LI "font height"
  5212. .br
  5213.  
  5214. 8 (obsolete)
  5215.  
  5216. .LI "flags"
  5217. .br
  5218.  
  5219. This is a general purpose flags word used differently by each video
  5220. driver. For example, msdos/grfast (and many others) uses the '1' bit to
  5221. indicate a need to wait for vsync on page flipping.
  5222.  
  5223. .H 2 "data directory"
  5224. .P
  5225.  
  5226. This directory is where one build the *.lnd, *.prm and *.nav files from
  5227. the free form input. The 'data' directory can be located anywhere but I
  5228. find is easy to keep is as a subdirectory of the Fly8 game directory.
  5229.  
  5230. .P
  5231.  
  5232. The files here are:
  5233.  
  5234. .VL 10 5
  5235.  
  5236. .LI *.lnd
  5237. .br
  5238.  
  5239. built from *.lnc, this is the landscape desciption.
  5240.  
  5241. .LI *.prm
  5242. .br
  5243.  
  5244. built from *.prc, this is the plane parameters file.
  5245.  
  5246. .LI *.nav
  5247. .br
  5248.  
  5249. built from *.nav, this file gives some navigation data.
  5250.  
  5251. .LE
  5252.  
  5253. .P
  5254.  
  5255. The steps to follow in building the files are described below. The 'build'
  5256. batch file is available for msdos but a similar one should be
  5257. done for unix etc. It simple automates a rather simple process.
  5258.  
  5259. .P
  5260.  
  5261. .VL 10 5
  5262.  
  5263. .LI 1
  5264. .br
  5265.  
  5266. Edit the source file (lnc/prc/nac). Use whatever editor you prefer,
  5267. these are plain text files.
  5268.  
  5269. .LI 2
  5270. .br
  5271.  
  5272. Do 'build File Type' where File is the name of the file you edited
  5273. (without extension!) and type is lnd/prm/nav as appropriate.
  5274.  
  5275. This script will run your file through the C pre-processor and then
  5276. through an awk script (expr.awk).
  5277.  
  5278. .LI 3
  5279. .br
  5280.  
  5281. Copy the new file (lnd/prm/nav) to your game directory. Or you can
  5282. give the directory on the build 'build File Type CopyToDirectory'.
  5283.  
  5284. .LI 4
  5285. .br
  5286.  
  5287. Change to the game directory and play. The new file will now be used.
  5288.  
  5289. .LE
  5290.  
  5291. .H 1 Acknowledgements
  5292. .P
  5293.  
  5294. .VL 10 5
  5295.  
  5296. .LI "Ross Johnson (rpj@ise.canberra.edu.au)"
  5297. .br
  5298.  
  5299. Ideas, testing, networking know-how, X11 help. Doco typesetting and
  5300. review.
  5301.  
  5302. .LI "Mike Taylor (miket@canb.auug.org.au)"
  5303. .br
  5304.  
  5305. Amiga and Windows ports.
  5306.  
  5307. .LI "Paul Thomas (paul.thomas@uk.ac.ox.eng)"
  5308. .br
  5309.  
  5310. Contributed a number of plane shapes.
  5311.  
  5312. .LE
  5313.  
  5314. .H 1 "Misc Notes"
  5315. .P
  5316.  
  5317. When you eject ('E') you will find yourself on a parachute. When you
  5318. land, you will move to a new plane. You can accelerate the descent with
  5319. \'D' but if the plane did not yet crash then you will (have to) wait on
  5320. the ground until it crashes and a new one is provided.
  5321.  
  5322. .P
  5323.  
  5324. The IBMPC uses a timer chip with three counters. Fly8 reads counter 0 to get
  5325. high resolution interval timing and writes counter 2 to generate speaker
  5326. sound. Counter 0 is often set to the wrong mode by various programs (some
  5327. examples: Landmark 1.14 sets the mode to 3 while version 2.00 sets it to
  5328. 2) . The standard is mode 3, but it is sometimes set to 2. Fly8 needs to
  5329. have the timer in the mode 2 or 3 or it reads bad timing information.
  5330.  
  5331. .P
  5332.  
  5333. The program 'gettimer' will report the current mode. If it is 36/34 or
  5334. b6/b4 then the mode is correct. Fly8 was upgraded to support the most
  5335. common two modes and can actually operate with non-standard timer
  5336. settings (I should document these special parameters somewhere).
  5337.  
  5338. .P
  5339.  
  5340. The program settimer will set the timer to mode 3.
  5341.  
  5342. .H 1 "Known Problems"
  5343. .BL 5
  5344.  
  5345. .LI
  5346.  
  5347. On a 486DX50 the serial driver fails at 115200 but is ok at 57600.
  5348. Output buffering at high speed looses the comms. It is now fixed with a
  5349. kludge in the comms driver.
  5350.  
  5351. .LI
  5352.  
  5353. On fast machines attempting to read the joystick twice in a row
  5354. produces unexpected results. A special delay option was introduced
  5355. to get around this problem.
  5356.  
  5357. .LI
  5358.  
  5359. The stroke character generator will not handle stroke sizes above
  5360. 128 pixels. May be a problem if you try running at very high resolutions
  5361. (say 1600x1200).
  5362.  
  5363. .LI
  5364.  
  5365. On slow machines the program may fail with a divide overflow. It also
  5366. may happen (rarely) on fast machines. This will be fixed gradually as
  5367. sensitive areas of the program get cleaned.
  5368.  
  5369. .LE
  5370. .TC
  5371.